Validierung Passwort mit Regex
Regex = "regular expression", de. "Regulärer Ausdruck".
In diesem Tutorial hat es leider keine Luft, um dir Regex umfassend zu erklären. Stattdessen findest du hier ein fertiges Beispiel, dass du jedoch intuitiv anpassen kannst:
$muster = '/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@%&*-]).\S{8,}$/'
Muster anpassen
- Hat eine Mindestlänge von 8 Zeichen: Passe die Anzahl durch Ändern von
{8,} (am Schluss) an.
- Mindestens ein englischer Grossbuchstabe: Du kannst diese Bedingung aufheben, indem du
(?=.*?[A-Z]) entfernst.
- Mindestens ein englischer Kleinbuchstabe: Du kannst diese Bedingung aufheben, indem du
(?=.*?[a-z]) entfernst.
- Mindestens eine Ziffer: Du kannst diese Bedingung aufheben, indem du
(?=.*?[0-9]) entfernst.
- Mindestens ein Sonderzeichen: Du kannst diese Bedingung aufheben, indem du
(?=.*?[#?!@%&*-]) entfernst. Du kannst (in der eckigen Klammer) Sonderzeichen auch einzeln entfernen oder hinzufügen.
- Zusätzlich von mir hinzugefügt: Keine Leerschläge:
\S.
Quelle: UI Bakery - Strong password regex. Ich habe die Anleitung übersetzt und den Regex leicht abgeändert.
Weitere Hinweise
- Strings in PHP, die Suchmuster beinhalten, müssen zwingend mit dem einfachen Anführungs- und Schlusszeichen eingefasst sein.
Grund: PHP sucht sonst nach Variablen im String, das $-Zeichen hat jedoch im Regex eine komplett andere Bedeutung.
- Strings in PHP, die Suchmuster beinhalten, müssen mit
'/ beginnnen und mit /' enden.
- Die Kombination von
'/^ (Anfang) und $/' (Ende) bedeutet, das das Muster den gesamten String abdecken muss, es wird also nicht auf ein Teil-Vorkommen überprüft.
- Weitergehende Infos: PHP Regex Cheatsheet, University of Washington
Das Formular wurde noch nicht verschickt. Klicke den Submit-Button!