Ich muss alle Zeichen ersetzen, die nicht mit dem Bereich a-zA-Z_-0-9
übereinstimmen. Also mache ich val.replace(/[^a-zA-Z_-0-9]/g, '')
, bekomme aber Fehler. Wie kann ich das beißen?
Danke
Das Zeichen -
wird als Literalzeichen behandelt, wenn es das letzte oder das erste Zeichen (nach dem Zeichen ^
) ist innerhalb der Klammern.
Sie erwarten, dass -
character als literal analysiert wird, aber tatsächlich als Bereich analysiert wird: _-0
bedeutet _
bis 0
, genauso wie a-z
bedeutet a
auf% Code%. Da z
jedoch einen höheren Zeichencode als _
hat, erhalten Sie einen Fehler.
In deinem Fall entkomme einfach: 0
. Dies wird als das \-
-Zeichen analysiert.
Tags und Links javascript regex