Erzeuge preg_match für die Passwort-Validierung erlaubt (! @ # $%)

8

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: !@#$% .

%Vor%

Hier sind meine Passwortregeln, die ich in die Regex einbauen möchte:

  • Kann Buchstaben und Zahlen enthalten
  • Muss mindestens eine Zahl und einen Buchstaben enthalten
  • Darf eines dieser Zeichen enthalten: !@#$%
  • Muss aus 8-12 Zeichen bestehen

Danke für die Hilfe, die Sie anbieten können.

    
Mark Rummel 08.08.2012, 22:14
quelle

8 Antworten

42

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

ansehen     
r3bel 08.08.2012, 22:48
quelle
7
%Vor%
  • mindestens ein Kleinbuchstabe
  • mindestens ein Großbuchstabe
  • mindestens eine Ziffer
  • mindestens ein Sonderzeichen von @ # -_ $% ^ & amp; + = §!?
Thomas 13.11.2014 09:06
quelle
2

Ich 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.

    
David Bell 20.02.2017 14:49
quelle
1

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.

    
Morpheus_ro 03.11.2016 14:58
quelle
0

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.

%Vor%     
Rishi Kulshreshtha 15.10.2015 09:23
quelle
0
%Vor%     
bhupinder singh 11.01.2017 07:16
quelle
-1

Suchen Sie nach Zeichenklassen, einem Grundmerkmal regulärer Ausdrücke.

    
Niet the Dark Absol 08.08.2012 22:16
quelle
-1
%Vor%

In der obigen Aussage .. welches mögliche Passwort gibt es also?.

    
christine 17.03.2014 05:55
quelle

Tags und Links