Cum să comparați șirurile de caractere insensibile în JavaScript

Cum Sa Comparati Sirurile De Caractere Insensibile In Javascript



În timpul scrierii codului, un dezvoltator poate avea nevoie adesea să compare două șiruri de caractere pentru a se asigura că anumite sarcini sunt finalizate. Compararea șirurilor de caractere fără a fi atent la cazurile lor, cum ar fi literele majuscule și minuscule, este cunoscută ca o comparație care nu ține seama de majuscule. Multe limbi acceptă compararea șirurilor de caractere cu diferența de majuscule și minuscule.

Acest articol va ilustra metodele de comparare a șirurilor de caractere care nu țin cont de majuscule și minuscule în JavaScript.







Cum să comparați șirurile de caractere insensibile în JavaScript?

Pentru compararea cu majuscule și minuscule a șirurilor în JavaScript, utilizați următoarele metode predefinite:



    • metoda localeCompare().
    • metoda toUpperCase() și toLowerCase().
    • Expresie regulată cu metoda test().

Să ne uităm separat la funcționarea fiecăreia dintre abordările menționate mai sus.



Metoda 1: Comparație de șiruri fără majuscule și minuscule folosind metoda LocaleCompare().

Comparația dintre șiruri de caractere care nu ține seama de majuscule și minuscule folosește „ localeCompare() ” metoda. Această metodă returnează un număr (pozitiv, negativ sau zero). Șirurile sunt comparate într-o ordine de sortare, dacă șirul de referință este mai lung decât șirul de comparație sau vine după șirul comparat, dă un număr pozitiv. Dacă șirul de referință este mai scurt sau vine înaintea șirului comparat, returnează un număr negativ. Ar trebui returnat un zero dacă șirul de referință este echivalent cu șirul comparat.





Sintaxă

Urmați sintaxa furnizată de către metoda localeCompare():



string1.localeCompare ( string2, localuri, opțiuni )


Aici,

    • sfoară 2 ” este șirul de comparare, unde șirul 1 va fi comparat.
    • local ” este eticheta de limbă.
    • Opțiuni ” sunt localitățile furnizate de utilizator în timp ce lucrează cu el.

Exemplu

Creați două șiruri „ șir 1 ' și ' sfoară 2 ”, cu șiruri “ linuxhint ' și ' LinuxHint ” respectiv:

var șir1 = 'linux' ;
var șir2 = „LinuxHint” ;


Comparați șirul1 cu șirul2 folosind „ localeCompare() ” și stocați rezultatul într-o variabilă ” comp ”. Al treilea argument al metodei va fi setat ca „ sensibilitate: „bază” ” care indică că șirurile comparate literele de bază nu sunt diferite:

var comp = string1.localeCompare ( șir2, nedefinit, { sensibilitate: 'baza' } )


În instrucțiunea condiționată, verificați dacă valoarea returnată a metodei localeCompare() este echivalentă cu zero, se afișează „ Corzile sunt egale ”, altfel, “ Corzile nu sunt egale ”:

dacă ( comp == 0 ) {
console.log ( „Corzile sunt egale” ) ;
} altfel {
console.log ( „Corzile nu sunt egale” ) ;
}


Ieșire

Metoda 2: Comparație de șiruri fără majuscule, folosind metoda toUpperCase() și toLowerCase()

Cele mai utilizate abordări pentru compararea șirurilor de caractere insensibile sunt metoda toUpperCase() sau metoda toLowerCase(). Ei convertesc șirurile în litere mari sau mici și apoi le compară cu ajutorul operatorilor de egalitate stricte.

Sintaxă

Pentru metoda toUpperCase(), utilizați următoarea metodă:

string.toUpperCase ( ) ;


Utilizați sintaxa de mai jos pentru metoda toLowerCase().

string.toLowerCase ( ) ;


Exemplu: Comparație de șiruri fără majuscule, folosind metoda toUpperCase().

Luați în considerare șirurile create mai sus „ șir 1 ' și ' sfoară 2 ” și apoi comparați-le folosind metoda toUpperCase() cu operator de egalitate strictă:

dacă ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
console.log ( „Corzile sunt egale” ) ;
} altfel {
console.log ( „Corzile nu sunt egale” ) ;
}


Ieșirea indică că ambele șiruri sunt egale ignorând majuscule și minuscule:


Exemplu: Comparație de șiruri fără majuscule, folosind metoda toLowerCase().

Aici, șirurile sunt comparate folosind metoda toLowerCase() care va converti mai întâi șirurile în litere mici și apoi le va compara folosind operatorul ===:

dacă ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
console.log ( „Corzile sunt egale” ) ;
} altfel {
console.log ( „Corzile nu sunt egale” ) ;
}


Ieșirea corespunzătoare va fi:

Metoda 3: Comparație de șiruri fără majuscule și minuscule utilizând expresia regulată cu metoda test()

JavaScript predefinit „ Test() ” metoda, care folosește o expresie regulată, este o altă modalitate de a compara două șiruri. Pe baza regex-ului specificat, determină dacă șirurile sunt egale sau nu.

Sintaxă

Urmați sintaxa dată pentru utilizarea unei expresii regulate pentru a compara șirurile:

RegExp ( şir, 'gi' )


Aici,

    • RegExp „ înseamnă „ expresie uzuala ”.
    • g ” este variabila globală care permite verificarea tuturor șirurilor.
    • i ” este o variabilă de tip flag care indică că un caz ar trebui ignorat în timp ce se folosește un șir pentru a se potrivi cu modelul.

Exemplu

Mai întâi, creați un nou obiect al RegExp() pasând un șir și expresia regulată ca argument:

var comp = new RegExp ( șir 1, 'gi' ) ;


Comparați șirurile folosind metoda test():

dacă ( comp.test ( sfoară 2 ) ) {
console.log ( „Corzile sunt egale” ) ;
} altfel {
console.log ( „Corzile nu sunt egale” ) ;
}


Ieșire

Concluzie

Pentru a compara șirurile care nu țin seama de majuscule și minuscule în JavaScript, utilizați metodele predefinite JavaScript, inclusiv metoda localeCompare(), metoda toUpperCase() și toLowerCase() sau metoda test() cu expresie regulată. Metodele „toUpperCase() și toLowerCase()” sunt cea mai utilizată abordare pentru compararea a două șiruri care nu țin cont de majuscule. Acest articol a ilustrat diferitele moduri de comparare a șirurilor de caractere în JavaScript care nu ține seama de majuscule și minuscule.