2011-01-01 22 views

Antwort

1

eine negated character class Verwendung:

[^a-z0-9] 

Sie werden auch ein Groß- und Kleinschreibung Modifikator benötigen oder diese alternativ verwenden: [^a-zA-Z0-9].

Beachten Sie, dass das erwartete Ergebnis nicht korrekt ist: Sie haben das Leerzeichen vergessen. Wenn Sie das Leerzeichen nicht anpassen möchten, müssen Sie es in die Zeichenklasse aufnehmen: [^a-zA-Z0-9 ].

+0

hmm das funktioniert super!, Ich erinnerte mich an so etwas vor 10 Minuten, aber ich habe falsch verwendet, btw '^' ist nicht für 'start of subject'? Warum ändern die '[]' diese Regel? – Adam

+0

@CIRK: Da innerhalb einer Zeichenklasse gibt es verschiedene Regeln. Z.B. Die meisten Sonderzeichen in einem Ausdruck (wie '.') haben keine besondere Bedeutung als eine Zeichenklasse. –

2

Mit ^ am Anfang einer Zeichenklasse, negieren Sie diese Klasse:

str.match(/[^a-z0-9 ]/gi) 

Sie sollten auch Leerzeichen (oder \s (das ist der Raum, Tab, ...)) und der Modifikator i um die Groß-/Kleinschreibung unempfindlich zu machen.

Lesen Sie mehr über regular expressions in JavaScript und regular expressions in general.

Verwandte Themen