Rumah > hujung hadapan web > tutorial js > Pemangkasan rentetan dalam JavaScript

Pemangkasan rentetan dalam JavaScript

Jennifer Aniston
Lepaskan: 2025-02-24 10:23:08
asal
893 orang telah melayarinya

Trimming Strings in JavaScript

mata utama

    JavaScript menyediakan tiga fungsi pemangkasan rentetan asli:
  • , trimLeft() dan trimRight(). Fungsi -fungsi ini hanya mengeluarkan aksara ruang dari awal, akhir atau akhir rentetan, masing -masing. trim()
  • Versi yang dipertingkatkan dari fungsi -fungsi ini boleh menghapuskan sebarang watak, sama dengan fungsi PHP. Versi ini menggunakan objek REGEXP dan aksara khas, seperti
  • dan ^ untuk mewakili permulaan dan akhir rentetan, masing -masing. $
  • Pemangkasan bukan sahaja digunakan untuk menghilangkan ruang yang tidak perlu dari input pengguna, tetapi juga menyelesaikan pelbagai masalah yang lebih luas apabila menggunakan versi yang dipertingkatkan fungsi pemangkasan. Sebagai contoh, ia boleh menghalang masalah log masuk yang disebabkan oleh laluan masuk dalam pendaftaran pengguna.
Pemangkasan rentetan adalah salah satu pengaturcara tugas yang paling biasa. Fungsi pemangkasan menghilangkan ruang pada permulaan dan/atau akhir rentetan. JavaScript 1.8.1 memperkenalkan sokongan asli untuk pemangkasan, yang bermaksud bahawa sebelum IE9, mereka bukan sebahagian daripada Internet Explorer. Artikel ini akan menunjukkan kepada anda bagaimana untuk memangkas dan bagaimana untuk membina fungsi pemangkasan yang lebih fleksibel dan kuat. JavaScript menyediakan tiga fungsi untuk melaksanakan pelbagai jenis pemangkasan rentetan. Yang pertama ialah

, yang menghilangkan watak -watak dari awal rentetan; . Seperti banyak bahasa lain, fungsi asli JavaScript mengeluarkan hanya aksara ruang. Sebaliknya, fungsi PHP boleh menghapuskan sebarang watak. Artikel ini akan memperkenalkan fungsi pemangkasan yang serupa dengan PHP. trimLeft() trimRight() trim()

mari kita lihat bagaimana bahan asli

berfungsi. trimLeft()

Perhatikan bahawa ruang pada permulaan rentetan dikeluarkan. Kita boleh meningkatkan fungsi ini dengan menentukan senarai aksara untuk memadam. Versi yang dipertingkatkan ditunjukkan di bawah. trimLeft()

var string = " Hello world";
console.debug(string.trimLeft());
// 输出 "Hello world"
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Titik utama fungsi ini adalah objek REGEXP dan aksara khas

. RegExP mencipta objek ekspresi biasa yang sepadan dengan teks dengan corak yang diberikan. Dalam ungkapan biasa, aksara

menunjukkan permulaan rentetan. Perhatikan bahawa senarai aksara input adalah sensitif kes. Contoh berikut menunjukkan kepada anda bagaimana untuk mengeluarkan ruang pada permulaan rentetan. Tingkah laku ini serupa dengan fungsi asli yang setara.
String.prototype.trimLeft = function(charlist) {
  if (charlist === undefined) {
    charlist = "\s";
  }

  return this.replace(new RegExp("^[" + charlist + "]+"), "");
};
Salin selepas log masuk
Salin selepas log masuk

^ Contoh berikut menunjukkan bagaimana untuk memadam aksara yang diberikan dari permulaan rentetan. Contoh pertama memangkas watak -watak huruf kecil "O", "E" dan "L", dan huruf besar "H". Contoh kedua memangkas huruf kecil "H". Oleh kerana rentetan bermula dengan modal "H", ia tidak akan dipangkas. ^ trimLeft()

var string = " Hello world";
console.debug(string.trimLeft());
// 输出 "Hello world"
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Fungsi

yang dipertingkatkan juga menerima parameter tunggal yang mewakili watak yang akan dipangkas. Fungsi

baru ditunjukkan di bawah.
var string = "Hello world";
console.debug(string.trimLeft("Hoel"));
// 输出 " world"

string = "Hi mate!";
console.debug(string.trimLeft("h"));
// 输出 "Hi mate!"
Salin selepas log masuk
Salin selepas log masuk
var string = " Hello world";
console.debug(string.trimLeft());
// 输出 "Hello world"
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Fungsi ini sangat mirip dengan fungsi sebelumnya. Satu -satunya perbezaan ialah corak ekspresi biasa. Daripada menggunakan aksara ^ untuk mewakili permulaan rentetan, kami menggunakan aksara $, yang mewakili akhir rentetan. Contoh berikut menunjukkan cara menggunakan fungsi trimRight(). Yang pertama adalah sangat mudah, sama seperti contoh sebelumnya. Yang kedua adalah menarik kerana ia bukan sahaja menggunakan senarai watak, tetapi juga kelas watak POSIX. Kelas watak adalah notasi singkat untuk set aksara yang ditentukan. Contoh ini menggunakan kod W. W bermaksud aksara bukan perkataan, atau semua aksara kecuali huruf, nombor, dan aksara garis bawah.

String.prototype.trimLeft = function(charlist) {
  if (charlist === undefined) {
    charlist = "\s";
  }

  return this.replace(new RegExp("^[" + charlist + "]+"), "");
};
Salin selepas log masuk
Salin selepas log masuk

trim()

Fungsi terakhir sangat mudah dan bergantung kepada dua fungsi pertama. Ia memangkas permulaan dan akhir rentetan pada masa yang sama. Pelaksanaannya juga mudah, kerana ia melibatkan panggilan

pada rentetan yang sama dan kemudian memanggil trimLeft(). trimRight()

var string = " Hello world";
console.debug(string.trimLeft());
// 输出 "Hello world"
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Berikut menunjukkan beberapa contoh menggunakan

. trim()

var string = "Hello world";
console.debug(string.trimLeft("Hoel"));
// 输出 " world"

string = "Hi mate!";
console.debug(string.trimLeft("h"));
// 输出 "Hi mate!"
Salin selepas log masuk
Salin selepas log masuk

Kesimpulan

Fungsi pemangkasan boleh digunakan untuk mengeluarkan ruang yang tidak perlu dari input pengguna. Sering kali, pengguna tidak menyedari bahawa mereka memasuki ruang tambahan. Sebagai contoh, jika pengguna mendaftarkan dirinya dengan ruang trailing, fakta ini juga boleh menyebabkan masalah log masuk. Walau bagaimanapun, ini bukan satu -satunya kes penggunaan untuk pemangkasan. Menggunakan fungsi pemangkasan yang dipertingkatkan yang diterangkan dalam artikel ini, anda juga boleh menyelesaikan pelbagai masalah yang lebih luas daripada fungsi asli yang dapat diselesaikan.

(bahagian Soalan Lazim harus dikekalkan di sini, tetapi disebabkan oleh batasan ruang, saya akan menghilangkannya. Kandungan bahagian FAQ selaras dengan teks asal, hanya menyempurnakan bahasa.)

Atas ialah kandungan terperinci Pemangkasan rentetan dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan