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
Zugriffseigenschaft von RegExp
Instanzen gibt zurück, ob das i
-Flag mit diesem regulären Ausdruck verwendet wird oder nicht.
Probieren Sie es aus
Beschreibung
RegExp.prototype.ignoreCase
hat den Wert true
, wenn das i
-Flag verwendet wurde; andernfalls false
. Das i
-Flag gibt an, dass die Groß- und Kleinschreibung beim Versuch, eine Übereinstimmung in einem String zu finden, ignoriert werden soll. Die Groß-/Kleinschreibungs-unabhängige Übereinstimmung erfolgt durch das Abbilden sowohl des erwarteten Zeichensatzes als auch des übereinstimmenden Strings auf dieselbe Schreibweise.
Wenn der Regex Unicode-bewusst ist, erfolgt das Abbilden der Groß- und Kleinschreibung durch einfaches Falten der Schreibweise, wie in CaseFolding.txt
spezifiziert. Das Mapping erfolgt stets auf einen einzelnen Codepunkt, es mappt also beispielsweise nicht ß
(U+00DF LATIN SMALL LETTER SHARP S) zu ss
(was vollständiges Falten der Schreibweise wäre, nicht einfaches Falten). Es kann jedoch Codepunkte außerhalb des Basis-Latein-Blocks auf Codepunkte innerhalb desselben abbilden — beispielsweise mappt ſ
(U+017F LATIN SMALL LETTER LONG S) zu s
(U+0073 LATIN SMALL LETTER S) und K
(U+212A KELVIN SIGN) zu k
(U+006B LATIN SMALL LETTER K). Daher können ſ
und K
durch /[a-z]/ui
übereinstimmen.
Wenn der Regex Unicode-unbewusst ist, verwendet das Abbilden der Groß- und Kleinschreibung die Unicode Default Case Conversion — dasselbe Algorithmus wie bei String.prototype.toUpperCase()
. Zum Beispiel werden Ω
(U+2126 OHM SIGN) und Ω
(U+03A9 GREEK CAPITAL LETTER OMEGA) durch die Standard-Großschreibungsumwandlung auf sich selbst abgebildet, aber durch einfaches Falten der Schreibweise auf ω
(U+03C9 GREEK SMALL LETTER OMEGA), sodass "ω"
durch /[\u2126]/ui
und /[\u03a9]/ui
übereinstimmt, aber nicht durch /[\u2126]/i
oder /[\u03a9]/i
. Dieser Algorithmus verhindert, dass Codepunkte außerhalb des Basis-Latein-Blocks auf Codepunkte innerhalb desselben abgebildet werden, sodass ſ
und K
, die zuvor erwähnt wurden, nicht durch /[a-z]/i
übereinstimmen.
Der Set-Accessor von ignoreCase
ist undefined
. Sie können diese Eigenschaft nicht direkt ändern.
Beispiele
Verwendung von ignoreCase
const regex = /foo/i;
console.log(regex.ignoreCase); // true
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-get-regexp.prototype.ignorecase |
Browser-Kompatibilität
BCD tables only load in the browser