Confronto tra stringhe senza distinzione tra maiuscole e minuscole in JavaScript

Valentine Kagwiria 12 ottobre 2023
  1. Utilizza i metodi stringa toUpperCase() / toLowerCase() per eseguire confronti senza distinzione tra maiuscole e minuscole in JavaScript
  2. Usa il metodo String localeCompare() per fare confronti senza distinzione tra maiuscole e minuscole in JavaScript
  3. Utilizzare un metodo di espressione regolare RegExp per eseguire confronti senza distinzione tra maiuscole e minuscole in JavaScript
Confronto tra stringhe 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

Articolo correlato - JavaScript String