Ich möchte eine preg_match
-Funktion erstellen, um meine Passwords zu validieren, aber ich bin mir nicht sicher, wie ich schreiben soll, damit die folgenden Sonderzeichen verwendet werden können: !@#$%
.
Hier sind meine Passwortregeln, die ich in die Regex einbauen möchte:
!@#$%
Danke für die Hilfe, die Sie anbieten können.
Ich denke, das sollte so aussehen:
%Vor% Zwischen Start - & gt; ^
Und Ende - & gt; $
der Zeichenfolge muss mindestens eine Zahl sein - & gt; (?=.*\d)
und mindestens einen Buchstaben - & gt; (?=.*[A-Za-z])
und es muss eine Zahl, ein Buchstabe oder eine der folgenden sein:! @ # $% - & gt; [0-9A-Za-z!@#$%]
und es müssen 8-12 Zeichen sein - & gt; {8,12}
Als user557846 zu deiner Frage kommentiert, würde ich dir auch vorschlagen, mehr Charaktere zuzulassen, die ich normalerweise (wenn ich ein Maximum benutze) mindestens 50 nehme:)
Übrigens sollten Sie sich das Regex-Tutorial
ansehenIch habe die Antwort von r3bel gemocht, also habe ich damit gespielt und bin mit dem folgenden als Passwort-Checking-Funktion gelandet:
%Vor%Max / Min-Längen sind Standard oder einstellbar, jede Anforderung ist standardmäßig aktiviert, kann aber ausgeschaltet werden, und ich wollte alle Symbole unterstützen, so dass die letzte Anforderung "alles ist, was nicht einer der oben genannten Typen ist" als eine feste Menge von Symbolen.
Ich habe eine komplette Regex für ein bisschen komplexere Prüfung entwickelt
%Vor%Grundsätzlich überprüfe ich, ob das Passwort 1 Ziffer, 1 Großbuchstaben, 1 niedriger und 1 Sonderzeichen hat. Ich hoffe, das hilft jemandem, der nach einer Regex sucht.
Ich habe dies mit meinem drupal benutzerdefinierten Formular in hook_form_validate
getan, hier sollte das Passwort aus 6 Buchstaben, Zahlen und mindestens einem Sonderzeichen bestehen.
Suchen Sie nach Zeichenklassen, einem Grundmerkmal regulärer Ausdrücke.
Tags und Links php regex passwords preg-match