Cara perbandingan rentetan yang tidak sensitif dalam javascript

Cara Perbandingan Rentetan Yang Tidak Sensitif Dalam Javascript



Semasa menulis kod, pembangun mungkin sering perlu membandingkan dua rentetan untuk memastikan tugas tertentu selesai. Membandingkan rentetan tanpa memberi perhatian kepada kesnya seperti huruf besar dan huruf kecil dikenali sebagai perbandingan tidak sensitif huruf besar. Banyak bahasa menyokong perbandingan rentetan dengan sensitiviti huruf besar dan tidak sensitif.

Artikel ini akan menggambarkan kaedah untuk perbandingan rentetan yang tidak peka huruf besar-besaran dalam JavaScript.







Bagaimana untuk Perbandingan Rentetan Tidak Peka dalam JavaScript?

Untuk perbandingan rentetan yang tidak sensitif huruf besar dan kecil dalam JavaScript, gunakan kaedah yang dipratentukan berikut:



    • kaedah localeCompare().
    • kaedah toUpperCase() dan toLowerCase().
    • Ungkapan biasa dengan kaedah test().

Mari kita lihat cara kerja setiap pendekatan yang disebutkan di atas secara berasingan.



Kaedah 1: Perbandingan Rentetan Case Insensitive Menggunakan Kaedah LocaleCompare().

Perbandingan tidak sensitif huruf besar-besaran bagi rentetan menggunakan ' localeCompare() ” kaedah. Kaedah ini mengembalikan nombor (positif, negatif atau sifar). Rentetan dibandingkan dalam susunan pengisihan, jika rentetan rujukan lebih panjang daripada rentetan perbandingan atau ia datang selepas rentetan yang dibandingkan, ia memberikan nombor positif. Jika rentetan rujukan lebih pendek, atau datang sebelum rentetan yang dibandingkan, ia mengembalikan nombor negatif. Sifar harus dikembalikan jika rentetan rujukan bersamaan dengan rentetan yang dibandingkan.





Sintaks

Ikuti sintaks yang disediakan untuk kaedah localeCompare() :



string1.localeBandingkan ( string2, tempat, pilihan )


di sini,

    • rentetan2 ” ialah rentetan bandingkan, di mana rentetan 1 akan dibandingkan.
    • tempatan ” ialah tag bahasa.
    • pilihan ” ialah tempat yang disediakan oleh pengguna semasa bekerja dengannya.

Contoh

Buat dua rentetan “ rentetan1 ” dan “ rentetan2 ”, dengan rentetan “ linuxhint ” dan “ LinuxHint ” masing-masing:

var string1 = 'linux' ;
var string2 = 'LinuxHint' ;


Bandingkan string1 dengan string2 menggunakan ' localeCompare() ' kaedah dan simpan hasilnya dalam pembolehubah ' kompaun ”. Hujah ketiga kaedah akan ditetapkan sebagai ' sensitiviti: 'asas' ” yang menunjukkan rentetan yang dibandingkan huruf asas tidak berbeza:

var comp = string1.localeCompare ( rentetan2, tidak ditentukan, { sensitiviti: 'asas' } )


Dalam pernyataan bersyarat, semak sama ada nilai yang dikembalikan bagi kaedah localeCompare() adalah bersamaan dengan sifar, ia mencetak “ Rentetan adalah sama ”, lain, “ Rentetan tidak sama ”:

jika ( comp == 0 ) {
konsol.log ( 'Rentetan adalah sama' ) ;
} lain {
konsol.log ( 'Rentetan tidak sama' ) ;
}


Pengeluaran

Kaedah 2: Perbandingan Rentetan Tidak Peka Huruf Menggunakan Kaedah toUpperCase() dan toLowerCase()

Pendekatan yang paling banyak digunakan untuk membandingkan rentetan tidak sensitif huruf besar-besaran ialah kaedah toUpperCase() atau Kaedah toLowerCase(). Mereka menukar rentetan kepada huruf besar atau huruf kecil dan kemudian membandingkannya dengan bantuan pengendali kesaksamaan yang ketat.

Sintaks

Untuk kaedah toUpperCase(), gunakan kaedah berikut:

string.toUpperCase ( ) ;


Gunakan sintaks di bawah untuk kaedah toLowerCase().

string.toLowerCase ( ) ;


Contoh: Perbandingan Rentetan Tidak Peka Huruf Menggunakan Kaedah toUpperCase().

Pertimbangkan rentetan yang dibuat di atas ' rentetan1 ” dan “ rentetan2 ” dan kemudian bandingkannya menggunakan kaedah toUpperCase() dengan pengendali kesaksamaan yang ketat:

jika ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
konsol.log ( 'Rentetan adalah sama' ) ;
} lain {
konsol.log ( 'Rentetan tidak sama' ) ;
}


Output menunjukkan kedua-dua rentetan adalah sama dengan mengabaikan kes:


Contoh: Perbandingan Rentetan Tidak Peka Huruf Menggunakan Kaedah toLowerCase().

Di sini, rentetan dibandingkan menggunakan kaedah toLowerCase() yang mula-mula akan menukar rentetan menjadi huruf kecil dan kemudian membandingkannya menggunakan operator ===:

jika ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
konsol.log ( 'Rentetan adalah sama' ) ;
} lain {
konsol.log ( 'Rentetan tidak sama' ) ;
}


Output yang sepadan ialah:

Kaedah 3: Perbandingan Rentetan Tidak Peka Huruf Menggunakan Ungkapan Biasa Dengan Kaedah test().

JavaScript yang dipratentukan “ ujian() ” kaedah, yang menggunakan ungkapan biasa, adalah cara lain untuk membandingkan dua rentetan. Berdasarkan regex yang ditentukan, ia menentukan sama ada rentetan adalah sama atau tidak.

Sintaks

Ikuti sintaks yang diberikan untuk menggunakan ungkapan biasa untuk membandingkan rentetan:

RegExp ( tali, 'gi' )


di sini,

    • RegExp ” bermaksud “ ekspresi biasa ”.
    • g ” ialah pembolehubah global yang membolehkan menyemak semua rentetan.
    • i ” ialah pembolehubah bendera yang menunjukkan kes harus diabaikan semasa menggunakan rentetan untuk memadankan corak.

Contoh

Mula-mula, buat objek baharu RegExp() dengan menghantar rentetan dan ungkapan biasa sebagai hujah:

var comp = RegExp baharu ( rentetan1, 'gi' ) ;


Bandingkan rentetan menggunakan kaedah test():

jika ( comp.test ( rentetan2 ) ) {
konsol.log ( 'Rentetan adalah sama' ) ;
} lain {
konsol.log ( 'Rentetan tidak sama' ) ;
}


Pengeluaran

Kesimpulan

Untuk membandingkan rentetan tidak sensitif huruf besar dan kecil dalam JavaScript, gunakan kaedah JavaScript yang dipratentukan termasuk kaedah localeCompare(), kaedah toUpperCase() dan toLowerCase() atau kaedah test() dengan ungkapan Biasa. Kaedah 'toUpperCase() dan toLowerCase()' ialah pendekatan yang paling banyak digunakan untuk membandingkan dua rentetan tidak sensitif huruf besar-besaran. Artikel ini menggambarkan cara berbeza untuk perbandingan rentetan yang tidak peka huruf besar-besaran dalam JavaScript.