1unitedpower: RegEx in JavaScript

Beitrag lesen

Vielen Dank für Deine Antwort. Ich hab jetzt mal ein JsFiddle draus gemacht:

RegEx Beispiel

Leider funktioniert es noch nicht wie gewünscht. Könntest du vielleicht kurz drüberschaun was ich falsch gemacht habe.

Backslashes in JavaScript-Strings sind das Maskierungszeichen, haben also eine eigene Semantik. Wenn diese Semantik nicht zum Tragen kommen soll, musst du den Backslash seinerseits maskieren. Also statt new RegExp('^\d{1,3}(:\d{1,2})?$') -> new RegExp('^\\d{1,3}(:\\d{1,2})?$').

Noch besser für die Lesbarkeit ist es aber die Literal-Schreibweise für reguläre Ausdrücke zu verwenden, also: /^\d{1,3}(:\d{1,2})?$/

new RegExp() benötigt man nur dann, wenn man einen regulären Ausdruck generisch zusammen bauen möchte. Das braucht man also etwa so oft wie eine Division durch Null.