Javascript Regulärer Ausdruck zur Übereinstimmung mit der Postleitzahl mit 5 oder 9 Ziffern

8

Ich habe ein ähnliches Problem wie meine letzten Post, aber mit einer Postleitzahl Validator versuche ich zu einem Javascript-Validierungsprozess zu konvertieren. Mein Skript sieht so aus:

%Vor%

Von meinem letzten Post habe ich von dem Fluchtcharakter erfahren, den ich am Anfang brauchte. Im Grunde validiert diese Funktion eine Postleitzahl, die 22601 korrekt ist, aber 22601-1 nicht validieren sollte. Es sollte 4 Ziffern hinter dem Strich wie 22601-9999 geben. Es ist so, als ob der zweite Teil der Validierung immer wahr ist. Auch dieser Ausdruck hat in der Vergangenheit für mich funktioniert. Fehle ich etwas? Wird ein weiteres Escape-Zeichen benötigt?

    
Billy Logan 16.09.2009, 21:00
quelle

3 Antworten

16

Fügen Sie Anker hinzu: new RegExp("^\d{5}(-\d{4})?$") . Dies zwingt die Engine für reguläre Ausdrücke dazu, nur dann eine Übereinstimmung zu akzeptieren, wenn sie beim ersten Zeichen der Zeichenfolge ( ^ ) beginnt und am Ende der Zeichenfolge ( $ ) endet, die übereinstimmt.

Beachten Sie, dass der reguläre Ausdruck, den Sie in Ihrer Frage angegeben haben, möglicherweise einen Tippfehler enthält: Dem zweiten \d fehlt ein Backslash.

    
Dirk 16.09.2009, 21:01
quelle
1

Ändern Sie Ihre Regex zu:

%Vor%     
Philippe Leybaert 16.09.2009 21:04
quelle
-1

Ich muss hier etwas vermissen:

Diese Regex:

%Vor%

gibt null mit einer gültigen Postleitzahl zurück:

%Vor%     
BArTMAN 14.04.2016 00:26
quelle

Tags und Links