Ich versuche, einen regulären Ausdruck zu schreiben, um die folgenden Bedingungen in einer Kennwortzeichenfolge zu überprüfen
- Mindestens eine Nummer und ein Buchstabe
- Sollte keine Sonderzeichen enthalten
Versuchte diesen regulären Ausdruck
[a-zA-Z]+[0-9]+[a-zA-Z0-9]*|[0-9]+[a-zA-Z][a-zA-Z0-9]*
Aber es erlaubt Sonderzeichen. Jede Hilfe wäre dankbar!
Beispiel
- aaaa - Nicht akzeptiert
- 11111 - Nicht akzeptiert
- aaaa1 - Akzeptiert
- aaaa1 * - Nicht akzeptiert
Antworten:
3 für die Antwort № 1Probieren Sie diese Regex:
(?=.*d.*)(?=.*[a-zA-Z].*)[0-9A-Za-z]+
In den ersten beiden Abschnitten erhalten Sie eine Nummer und ein a-z-Zeichen. Im dritten Abschnitt können Sie Zahlen oder a-z-Zeichen eingeben.
0 für die Antwort № 2
Ihr Muster sollte mit beginnen ^
(Stringanfang) und ende mit $
(Ende der Zeichenfolge). Ich gehe davon aus, dass Ihre Prüfung erfolgreich ist, wenn das Muster auftritt.
So sollte es sein
^([a-zA-Z]+[0-9]+[a-zA-Z0-9]*|[0-9]+[a-zA-Z][a-zA-Z0-9]*)$
0 für die Antwort № 3
Sie können einen regulären Ausdruck erstellen, der zuerst das erste Zeichen überprüft, wenn es sich um einen Buchstaben handelt ^[a-zA-Z]
, dann erwarten Sie eine unbekannte Anzahl von alphanum char [a-zA-Z0-9]*
. Dann rechne mit mindestens einer Zahl [0-9]+
und schließlich erwarten Sie eine weitere unbekannte Anzahl von Alphanum bis zum Ende [a-zA-Z0-9]*$
. Das sieht so aus:
^[a-zA-Z][a-zA-Z0-9]*[0-9]+[a-zA-Z0-9]*$
Machen Sie das Äquivalent, wenn es mit einer Zahl beginnt ^[0-9]
, dann erwarten Sie eine unbekannte Anzahl von alphanum char [a-zA-Z0-9]*
. Dann erwarten Sie mindestens einen Buchstaben [a-zA-Z]+
und schließlich erwarten Sie eine weitere unbekannte Anzahl von Alphanum bis zum Ende [a-zA-Z0-9]*$
. Das sieht so aus:
^[0-9][a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$
Und machen Sie ein ODER zwischen diesen beiden Regex:
^( [a-zA-Z][a-zA-Z0-9]*[0-9]+[a-zA-Z0-9]* | [0-9][a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*) $