9 Stimmen

RegEx für sichere Passwörter

Ich habe die folgenden Passwortanforderungen:

1) Sollte 6-15 Zeichen lang sein
2) sollte mindestens einen Kleinbuchstaben enthalten
3) Sollte mindestens einen Großbuchstaben enthalten
4) Sollte mindestens eine Nummer haben
5) Mindestens ein Sonderzeichen sollte vorhanden sein
6) Sollte keine Leerzeichen enthalten

Kann mir jemand ein RegEx für diese Anforderung vorschlagen?

11voto

Pascal MARTIN Punkte 384469

Ich bin mir nicht sicher, ob ich dafür eine Regex verwenden würde: Regex sind nicht immer das richtige Werkzeug für jede Art von Aufgabe...

Hier haben Sie eine Liste von 6 Anforderungen angegeben; warum also nicht einfach 6 verschiedene Tests verwenden, einen pro Anforderung?
Diese 6 verschiedenen Tests, sollte ich hinzufügen, würde wirklich einfach sein - während eine Regex wäre viel schwieriger zu schreiben (Sie haben um Hilfe gebeten - bei den 6 Tests hätten Sie das wahrscheinlich nicht getan) .

Das würde Ihren Code viel verständlicher machen, darauf wette ich ;-)
Und auch: einfacher zu pflegen; und einfacher, eine der Bedingungen, die einer der Anforderungen entspricht, hinzuzufügen/zu entfernen/zu ändern.

10voto

Mark Byers Punkte 761508

Ich bin mir nicht ganz sicher, was Sie mit "Sonderzeichen" meinen, also interpretiere ich das so \W aber Sie können dies ändern, wenn Sie wollen:

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W)\S{6,15}$

3voto

bkaid Punkte 50360

Regexlib.com finden Sie eine Vielzahl von Beispielen und eine durchsuchbare Datenbank mit Ex-Registrierungen.

1voto

yfeldblum Punkte 64211
1 => /^.{6,15}$/
2 => /[a-z]/
3 => /[A-Z]/
4 => /\d/
5 => /[#{special_chars_for_regex}]/
6 => /^\S*$/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X