Wie mache ich einen regulären Ausdruck mit nur 3 Zeichen und 3 Ziffern?

7

Ich habe den folgenden Regex für die Übereinstimmung hier Ссылка ausprobiert, aber es passt nur 3 Zeichen oder 3 Ziffern gleichzeitig.

%Vor%

Ich brauche ein Ergebnis wie folgt:

  

123eee

     

4r43fs

    
TeamA1 07.05.2014, 05:43
quelle

6 Antworten

7

Wenn Sie Regex verwenden möchten, ist es ziemlich kompliziert:

%Vor%

Siehe auf Regexr

Dies wird tun, was Sie wollen.

  1. \w ist nicht das, was Sie wollen, es enthält auch \d und den Unterstrich "_".

  2. (?=.*\d.*\d.*\d) ist eine positive Lookahead-Assertion , um den Zustand dreier Ziffern in der Zeichenfolge zu überprüfen .

  3. (?=.*[a-zA-Z].*[a-zA-Z].*[a-zA-Z]) ist eine positive Lookahead-Bestätigung , um den Zustand von drei Buchstaben in der Zeichenfolge zu überprüfen .

  4. .{6} überprüft die Gesamtlänge von 6

stema 07.05.2014, 05:57
quelle
8

Hier geht's:

%Vor%

Ссылка

Wenn es mindestens drei Ziffern, mindestens drei Buchstaben und höchstens sechs Zeichen gibt, muss die Zeichenfolge übereinstimmen.

Wie funktioniert das?

  1. Dies ist eine klassische Regex-Methode für die Überprüfung der Passwörter.
  2. Die beiden Lookaheads überprüfen, ob wir mindestens drei Ziffern und mindestens drei Buchstaben
  3. haben
  4. Nach diesen Behauptungen können wir alle 6 Zeichen mit \w{6} bis zum Ende der Zeichenfolge
  5. abgleichen

Die Lookaheads

Lassen Sie uns den ersten Lookahead aufschlüsseln: (?=(?:[a-z]*\d){3})

Er behauptet, dass dreimal ( {3} ), an dieser Position in der Zeichenkette, die der Anfang der Zeichenkette ist, wie von ^ bestätigt, eine beliebige Anzahl von Buchstaben, gefolgt von einer einzelnen Ziffer, übereinstimmen kann . Dies bedeutet, dass es mindestens drei Ziffern geben muss.

    
zx81 07.05.2014 05:57
quelle
8

Ein Lookahead sollte ausreichen, um zu überprüfen, ob es genau 3 Ziffern gibt:

%Vor%

Verwendet [^\W_] als Kurzschrift für [A-Za-z0-9] .

testen Sie auf regex101

    
Jonny 5 07.05.2014 06:10
quelle
2
%Vor%     
thefourtheye 07.05.2014 05:55
quelle
0

Wenn Sie nur eine sechsstellige Kombination von Ziffern und "Wortzeichen" verwenden möchten, verwenden Sie:

%Vor%     
Jack Zelig 07.05.2014 05:50
quelle
0

Hallo, wir können das auf zwei Arten tun.

Wenn Sie IE7-Unterstützung benötigen "?" Ausdruck wird einige Probleme .So können Sie wie folgt überprüfen.

%Vor%
  1. Suche nach einer Kombination

  2. Suche nur nach Ziffern oder nicht

  3. Suche nur nach Alphabeten.

Renjith 07.05.2014 06:03
quelle

Tags und Links