Groß-/Kleinschreibung unempfindlicher String-Vergleich in JavaScript

Valentine Kagwiria 12 Oktober 2023
  1. Verwenden Sie die String-Methoden toUpperCase()/toLowerCase(), um einen case-insensitiven Vergleich in JavaScript durchzuführen
  2. Verwenden Sie die String-Methode localeCompare(), um einen case-insensitive Vergleich in JavaScript durchzuführen
  3. Verwenden Sie eine Methode für reguläre Ausdrücke RegExp, um einen case-insensitive Vergleich in JavaScript durchzuführen
Groß-/Kleinschreibung unempfindlicher String-Vergleich in JavaScript

Dieser Artikel erklärt, wie man in JavaScript einen case-insensitive String-Vergleich durchführt.

Verwenden Sie die String-Methoden toUpperCase()/toLowerCase(), um einen case-insensitiven Vergleich in JavaScript durchzuführen

In der Methode toUpperCase() werden die Strings zunächst in Groß- oder Kleinschreibung umgewandelt und dann mit dem dreifachen Gleichheitsoperator === verglichen.

Hier ist ein Beispiel.

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.')
}

Ausgabe:

The strings are equal.

Alternativ können Sie die Zeichenketten auch mit der String-Methode toLowercase() in Kleinbuchstaben umwandeln, wie im folgenden Beispiel.

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.')
}

Ausgabe:

The strings are NOT equal

Es ist jedoch anzumerken, dass die Methode für Großbuchstaben bevorzugt wird. Der Grund dafür ist, dass einige Zeichen des Alphabets bei der Umwandlung in Kleinbuchstaben keine Rundreise machen können. Das bedeutet im Wesentlichen, dass sie möglicherweise nicht in der Lage sind, von einem Gebietsschema in ein anderes konvertiert zu werden, so dass diese Datenzeichen korrekt dargestellt werden.

Verwenden Sie die String-Methode localeCompare(), um einen case-insensitive Vergleich in JavaScript durchzuführen

Während die obige Methode eine einfache Antwort gibt, funktioniert sie möglicherweise nicht gut, wenn die Strings Unicode-Zeichen enthalten. Die String-Methode localeCompare kann sich darum kümmern. Sie wird mit der Option sensitivity: 'base' verwendet, um alle Unicode-Zeichen zu erfassen. Wir können dies zum Beispiel in einer if()-Anweisung verwenden, um Ergebnisse zu erhalten, wenn die fraglichen Zeichenketten gleich sind und wenn sie es nicht sind:

if ('javascript'.localeCompare('JavaScrpt', undefined, {sensitivity: 'base'}) ==
    0) {
  alert('The strings are equal')
} else {
  alert('The strings are different.')
}

Ausgabe:

The strings are different.

Verwenden Sie eine Methode für reguläre Ausdrücke RegExp, um einen case-insensitive Vergleich in JavaScript durchzuführen

In dieser Methode verwenden wir das Muster RegExp mit der Methode test(), um einen Vergleich zwischen Zeichenketten ohne Berücksichtigung der Groß-/Kleinschreibung durchzuführen. Zum Beispiel,

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');
}

Ausgabe:

Similar strings

Verwandter Artikel - JavaScript String