2016-07-29 6 views
0

reuirement: Mindestens 2 Alpha, 2-Nummern mit mindestens 8 Zeichen
alphanumerische können überall Mindestlänge von 8 Zeichen (maximale Länge von 32 Zeichen mindestens enthalten 2 alpha und 2 numerische Zeichen Kann Dash, Komma, Punkt, Raum()reg Ausdruck für 2 alpha, 2 Zahlen in Javascript

/^(?=.*[a-zA-Z]{2})(?=(.*\d){2})(?!^[0-9]*$)(?!^[A-Za-z]*$) 

ich habe versucht, die oben, aber seine Validierung nur zwei consequtive Zeichen zum Beispiel Test case1 umfassen. te3f3, - (bestanden) test case2: t2g2., - g (gescheitert) aber das muss auch t passieren Hough Alha Zeichen sind nicht aufeinanderfolgende

Antwort

3

Um zu finden, ob eine Zeichenfolge enthält 2 von etwas, müssen Sie dafür sorgen, dass Zeichen dazwischen sein. Umgeben der Look-Ahead-Ausdrücke in nicht erfassenden Gruppen.

^(?=(?:.*[A-Za-z]){2})(?=(?:.*\d){2})[A-Za-z0-9 ,.-]{8,32}$ 

Regex101 Demo

Für eine schnellere regex, sein spezifischer als .*:

^(?=(?:[^A-Za-z]*[A-Za-z]){2})(?=(?:\D*\d){2})[A-Za-z0-9 ,.-]{8,32}$