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 an, ob das i-Flag mit diesem regulären Ausdruck verwendet wird oder nicht.

Probieren Sie es aus

const regex1 = new RegExp("foo");
const regex2 = new RegExp("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 zeigt an, dass die Groß- und Kleinschreibung bei der Versuch eines Abgleichs in einer Zeichenfolge ignoriert werden soll. Groß-/Kleinschreibung-unabhängige Vergleiche werden durchgeführt, indem sowohl das erwartete Zeichenset als auch die verglichene Zeichenfolge auf dieselbe Groß-/Kleinschreibung abgebildet werden.

Falls der reguläre Ausdruck Unicode-bewusst ist, erfolgt die Groß-/Kleinschreibungszuordnung durch ein Simple Case Folding, das in CaseFolding.txt spezifiziert ist. Dabei wird immer auf einen einzelnen Codepunkt abgebildet, sodass beispielsweise ß (U+00DF LATIN SMALL LETTER SHARP S) nicht auf ss abgebildet wird (was ein Full Case Folding wäre, aber kein Simple Case Folding). Es können jedoch Codepunkte außerhalb des Basis-Latein-Blocks auf Codepunkte innerhalb davon abgebildet werden – zum Beispiel wird ſ (U+017F LATIN SMALL LETTER LONG S) auf s (U+0073 LATIN SMALL LETTER S) und (U+212A KELVIN SIGN) auf k (U+006B LATIN SMALL LETTER K) abgebildet. Daher können ſ und mit /[a-z]/ui abgeglichen werden.

Falls der reguläre Ausdruck nicht Unicode-bewusst ist, verwendet die Groß-/Kleinschreibungszuordnung die Unicode Default Case Conversion – denselben Algorithmus, der auch in String.prototype.toUpperCase() verwendet wird. Dieser Algorithmus verhindert, dass Codepunkte außerhalb des Basis-Latein-Blocks auf Codepunkte innerhalb dessen abgebildet werden. Daher werden die zuvor erwähnten ſ und nicht von /[a-z]/i abgeglichen.

Unicode-bewusstes Case Folding erfolgt gewöhnlich in Kleinbuchstaben, während Unicode-unbewusstes Case Folding in Großbuchstaben erfolgt. Diese beiden Operationen sind keine perfekten Umkehroperationen, daher gibt es einige subtile Verhaltensunterschiede. Zum Beispiel werden (U+2126 OHM SIGN) und Ω (U+03A9 GREEK CAPITAL LETTER OMEGA) durch Simple Case Folding beide auf ω (U+03C9 GREEK SMALL LETTER OMEGA) abgebildet, sodass "\u2126" sowohl mit /[\u03c9]/ui als auch mit /[\u03a9]/ui abgeglichen wird. Andererseits wird U+2126 durch die Default Case Conversion auf sich selbst abgebildet, während die anderen beiden auf U+03A9 abgebildet werden. Daher wird "\u2126" weder durch /[\u03c9]/i noch durch /[\u03a9]/i abgeglichen.

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® 2025 Language Specification
# sec-get-regexp.prototype.ignorecase

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
ignoreCase
Prototype accessor property (ES2015)

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch