Start · Sprachen · JavaScript · Referenz · String.prototype.toLowerCase()

String.prototype.toLowerCase()

Methode

Gibt einen neuen String zurück, in dem alle Zeichen des ursprünglichen Strings in Kleinbuchstaben umgewandelt sind. Der ursprüngliche String bleibt unverändert.

seit JavaScript ES1 (Baseline: alle Browser) Kategorie: method-property

Signatur

String.prototype.toLowerCase()

Beschreibung

Die Methode toLowerCase() wandelt alle Groß- und Titelbuchstaben eines Strings nach den Unicode-Standardregeln in Kleinbuchstaben um und gibt das Ergebnis als neuen String zurück. Strings sind in JavaScript unveränderlich, deshalb bleibt der Ausgangswert immer erhalten. Das Ergebnis muss man also einer Variablen zuweisen oder direkt weiterverwenden.

Typische Anwendungen sind der Vergleich ohne Beachtung der Groß-/Kleinschreibung (z. B. bei Suchfeldern, Filtern oder Tags), das Vereinheitlichen von Benutzereingaben wie E-Mail-Adressen oder Dateiendungen und das Erzeugen von Schlüsseln bzw. Slugs.

Die Umwandlung ist gebietsschemaunabhängig: Es gelten die allgemeinen Unicode-Zuordnungen, nicht die Sonderregeln einzelner Sprachen. Brauchen Sie sprachspezifisches Verhalten (etwa für Türkisch oder Litauisch), nehmen Sie toLocaleLowerCase(). Die Methode ist generisch: Mit call() kann man sie auch auf Nicht-Strings anwenden. Deren this-Wert wird dann vorher in einen String umgewandelt.

Rückgabewert

Typ
string
Beschreibung
Ein neuer String, der dem ursprünglichen entspricht, aber in Kleinbuchstaben umgewandelt ist.

Beispiele

Einfache Umwandlung

const titel = 'Hallo WELT!';
const klein = titel.toLowerCase();

console.log(klein);
console.log(titel); // Original bleibt unverändert
hallo welt! Hallo WELT!

Suche ohne Beachtung der Groß-/Kleinschreibung

const produkte = ['MacBook Pro', 'iPhone 15', 'Magic Mouse', 'iPad Air'];

const suche = (begriff) => {
  const q = begriff.trim().toLowerCase();
  return produkte.filter((p) => p.toLowerCase().includes(q));
};

console.log(suche('MAC'));
console.log(suche('ipad'));
[ 'MacBook Pro' ] [ 'iPad Air' ]

Dateiendung vereinheitlicht prüfen

const istBild = (dateiname) => {
  const endung = dateiname.split('.').pop().toLowerCase();
  return ['jpg', 'jpeg', 'png', 'webp'].includes(endung);
};

console.log(istBild('Urlaub.JPG'));
console.log(istBild('bericht.PDF'));
true false

Unicode-Sonderfälle und generischer Aufruf

console.log('ÄÖÜ ΣΟΦΟΣ'.toLowerCase()); // griechisches Schluss-Sigma
console.log('İ'.toLowerCase().length); // wird zu i + kombinierendem Punkt

// Generisch auf Nicht-Strings anwenden
console.log(String.prototype.toLowerCase.call(true));
äöü σοφος 2 true

// Wichtig · Fallstricke

  • Fehler bei null/undefined: null.toLowerCase() löst einen TypeError aus. Bei unsicheren Werten optionale Verkettung nutzen: wert?.toLowerCase(), oder vorher mit String(wert) umwandeln.
  • Länge kann sich ändern: Manche Zeichen werden zu mehreren Codeeinheiten, z. B. 'İ' (U+0130) zu 'i̇'. Indizes aus dem Original passen danach nicht mehr unbedingt.
  • Keine Sprachregeln: Beim türkischen 'I' entsteht 'i' statt 'ı'. Dafür toLocaleLowerCase('tr') verwenden.
  • Vergleiche: Für robuste Vergleiche ohne Beachtung der Groß-/Kleinschreibung über Sprachen hinweg ist localeCompare(b, undefined, { sensitivity: 'accent' }) oder Intl.Collator oft besser als ein Vergleich zweier toLowerCase()-Ergebnisse. Beispiel: 'ß'.toUpperCase() ergibt 'SS', zurück in Kleinbuchstaben wird daraus aber nicht wieder 'ß'.
  • Die Methode wird in allen Browsern und in Node.js unterstützt.