2017-06-11 3 views
0

ich die folgende Validierung definiert haben:Angular 2 Reactive Forms ‚Muster‘ Prüfung nicht funktioniert

  Validators.pattern("/^[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]$/")]] 

Seine Postleitzahlen zu validieren, aber wenn ich die Zeichenfolge ‚K1K1A1‘ der Validator sagt sein invalid eingeben.

Was ist los mit meiner Regex?

+1

Versuchen Sie, die "Anführungszeichen" zu entfernen. – developer033

+0

* Postleitzahlen * ist nicht hilfreich. Welche Länderpostleitzahlen? Was ist in Ihrem Fall eine gültige Postleitzahl? – Alex

Antwort

4

Validators.pattern() wie folgt aussieht:

if (typeof pattern === 'string') { 
    regexStr = `^${pattern}$`; 
    regex = new RegExp(regexStr); 
} else { 
    regexStr = pattern.toString(); 
    regex = pattern; 
} 

Also, nur Schrägstriche entfernen und ^$ Zeichen mit Winkeln zu passen. Oder Sie entfernen auch Zitate und Javascript nimmt Ihren Ausdruck als RegExp-Typ.

+0

Entfernen von Anführungszeichen, wie gesagt funktioniert auch :) – developer033

+0

Ja, entfernen von Anführungszeichen der Typ ist gleich RegExp. – Serginho

Verwandte Themen