RegExp.prototype.ignoreCase

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die ignoreCase Accessor-Eigenschaft von RegExp Instanzen gibt zurück, ob das i Flag mit diesem regulären Ausdruck verwendet wird oder nicht.

Probieren Sie es aus

const regex1 = /foo/;
const regex2 = /foo/i;

console.log(regex1.test("Football"));
// Expected output: false

console.log(regex2.ignoreCase);
// Expected output: true

console.log(regex2.test("Football"));
// Expected output: true

Beschreibung

RegExp.prototype.ignoreCase hat den Wert true, wenn das i Flag verwendet wurde; andernfalls false. Das i Flag gibt an, dass bei dem Versuch, in einem String eine Übereinstimmung zu finden, die Groß-/Kleinschreibung ignoriert werden soll. Durch die Fallunabhängigkeit wird sowohl die erwartete Zeichensatzmenge als auch der übereinstimmende String auf dieselbe Groß-/Kleinschreibung abgebildet.

Wenn der reguläre Ausdruck Unicode-bewusst ist, erfolgt die Fallabbildung durch simple case folding wie in CaseFolding.txt spezifiziert. Die Abbildung erfolgt immer auf einen einzelnen Codepunkt, sodass ß (U+00DF LATIN SMALL LETTER SHARP S) zum Beispiel nicht in ss abgebildet wird (was full case folding wäre, nicht simple case folding). Es kann jedoch Codepunkte außerhalb des Basic Latin-Blocks zu Codepunkten innerhalb dieses Blocks abbilden — zum Beispiel wird ſ (U+017F LATIN SMALL LETTER LONG S) zu s (U+0073 LATIN SMALL LETTER S) und (U+212A KELVIN SIGN) zu k (U+006B LATIN SMALL LETTER K) abgebildet. Daher können ſ und durch /[a-z]/ui übereinstimmen.

Wenn der reguläre Ausdruck nicht Unicode-bewusst ist, erfolgt die Fallabbildung mittels Unicode Default Case Conversion — demselben Algorithmus, der in String.prototype.toUpperCase() verwendet wird. Dieser Algorithmus verhindert, dass Codepunkte außerhalb des Basic Latin-Blocks zu Codepunkten innerhalb dieses Blocks abgebildet werden, sodass ſ und , wie zuvor erwähnt, nicht von /[a-z]/i übereinstimmen.

Unicode-bewusste Fallabbildung erfolgt allgemein zu Kleinbuchstaben, während Unicode-unbewusste Fallabbildung zu Großbuchstaben erfolgt. Diese beiden sind keine perfekten umgekehrten Operationen, daher gibt es einige subtile Verhaltensunterschiede. Zum Beispiel werden (U+2126 OHM SIGN) und Ω (U+03A9 GREEK CAPITAL LETTER OMEGA) beide durch einfache Fallabbildung zu ω (U+03C9 GREEK SMALL LETTER OMEGA) abgebildet, sodass "\u2126" durch /[\u03c9]/ui und /[\u03a9]/ui übereinstimmt; andererseits wird U+2126 durch die Default Case Conversion auf sich selbst abgebildet, während die anderen beiden auf U+03A9 abgebildet werden, sodass "\u2126" weder durch /[\u03c9]/i noch /[\u03a9]/i übereinstimmt.

Der Set-Accessor von ignoreCase ist undefined. Sie können diese Eigenschaft nicht direkt ändern.

Beispiele

Verwendung von ignoreCase

js
const regex = /foo/i;

console.log(regex.ignoreCase); // true

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-get-regexp.prototype.ignorecase

Browser-Kompatibilität

Siehe auch