SyntaxError: ungültiger Bereich in Zeichensatz
Der JavaScript-Ausnahmefehler "ungültiger Bereich in Zeichensatz" tritt auf, wenn eine Zeichenklasse in einem regulären Ausdruck einen Bereich verwendet, bei dem der Anfang des Bereichs größer ist als das Ende.
Meldung
SyntaxError: Invalid regular expression: /[2-1]/: Range out of order in character class (V8-based) SyntaxError: invalid range in character class (Firefox) SyntaxError: Invalid regular expression: range out of order in character class (Safari)
Fehlerart
SyntaxError
Was ist schiefgelaufen?
In Zeichenklassen können Sie zwei Zeichen mit einem Bindestrich -
verbinden, um ein inklusives Intervall von Zeichen basierend auf ihren Unicode-Codepunkten darzustellen. Zum Beispiel, [a-z]
entspricht jedem Kleinbuchstaben. Wenn jedoch das Ende des Bereichs kleiner als der Anfang ist, kann der Bereich nichts übereinstimmen und ist wahrscheinlich ein Fehler.
Beispiele
>Ungültige Fälle
js
/[9-1]/; // The range is out of order
/[_-=]/; // _ has value 95, = has value 61
Gültige Fälle
js
/[1-9]/; // Swap the range
/[_\-=]/; // Escape the hyphen so it matches the literal character