Confronto tra stringhe senza distinzione tra maiuscole e minuscole in JavaScript
-
Utilizza i metodi stringa
toUpperCase()
/toLowerCase()
per eseguire confronti senza distinzione tra maiuscole e minuscole in JavaScript -
Usa il metodo String
localeCompare()
per fare confronti senza distinzione tra maiuscole e minuscole in JavaScript -
Utilizzare un metodo di espressione regolare
RegExp
per eseguire confronti senza distinzione tra maiuscole e minuscole in JavaScript
Questo articolo spiega come eseguire il confronto di stringhe senza distinzione tra maiuscole e minuscole in JavaScript.
Utilizza i metodi stringa toUpperCase()
/ toLowerCase()
per eseguire confronti senza distinzione tra maiuscole e minuscole in JavaScript
Nel metodo toUpperCase()
, le stringhe vengono prima convertite in maiuscolo o minuscolo e poi confrontate con l’operatore di triplo uguale ===
.
Ecco un esempio.
var stringA = 'This is a JavaScript tutorial';
var stringB = 'THIS is A javascript TUTORIAL';
if (stringA.toUpperCase() === stringB.toUpperCase()) {
alert('The strings are equal.')
} else {
alert('The strings are NOT equal.')
}
Produzione:
The strings are equal.
In alternativa, puoi anche convertire le stringhe in minuscolo usando il metodo di stringa toLowercase()
come nell’esempio seguente.
var stringA = 'This is a JavaScript tutorial';
var stringB = 'THESE are javascript TUTORIALS';
if (stringA.toLowerCase() === stringB.toLowerCase()) {
alert('The strings are equal.')
} else {
alert('The strings are NOT equal.')
}
Produzione:
The strings are NOT equal
Vale la pena notare, tuttavia, che è preferibile il metodo delle maiuscole. È perché alcuni caratteri dell’alfabeto non possono fare un viaggio di andata e ritorno quando vengono convertiti in minuscolo. Ciò significa essenzialmente che potrebbero non essere in grado di essere convertiti da una locale a un’altra in un modo che rappresenti i caratteri dei dati in modo accurato.
Usa il metodo String localeCompare()
per fare confronti senza distinzione tra maiuscole e minuscole in JavaScript
Sebbene il metodo sopra dia una risposta semplice, potrebbe non funzionare bene dove le stringhe includono caratteri Unicode. Il metodo delle stringhe localeCompare
può occuparsene. Viene utilizzato con l’opzione sensitivity: 'base'
per acquisire tutti i caratteri Unicode. Ad esempio, possiamo farlo in un’istruzione if()
per ottenere risultati quando le stringhe in questione sono uguali e quando non lo sono:
if ('javascript'.localeCompare('JavaScrpt', undefined, {sensitivity: 'base'}) ==
0) {
alert('The strings are equal')
} else {
alert('The strings are different.')
}
Produzione:
The strings are different.
Utilizzare un metodo di espressione regolare RegExp
per eseguire confronti senza distinzione tra maiuscole e minuscole in JavaScript
In questo metodo, usiamo il pattern RegExp
con il metodo test()
per fare un confronto tra stringhe senza distinzione tra maiuscole e minuscole. Per esempio,
const strA = 'This is a case sensitive comparison';
const strB = 'This is a CASE SENSITIVE comparison';
const regex = new RegExp(strA, 'gi');
const comparison = regex.test(strB)
if (comparison) {
alert('Similar strings');
}
else {
alert('Different strings');
}
Produzione:
Similar strings