[a-zA-Z0-9@]{6,12}
(?=.*\d)
(?=.*[A-Z])
(?!.*(.))
stellt sicher, dass kein Zeichen mehr als zweimal hintereinander erscheinen darf. Teilzeichenfolge aa
ist in Ordnung, aaa
nicht. (?!.*(.+))
, um wiederholte Teilstrings mit mehr als einer Länge abzulehnen (wie ababab
), oder fügen Sie .*
vor
hinzu, um nicht kontinuierliche wiederholte Erscheinungen ebenfalls abzulehnen. Klingt nicht nach einer für Regex besonders geeigneten Aufgabe, da Sie mehrere Bedingungen gleichzeitig testen möchten. (Sie könnten mehrere Regexes verwenden, aber das normale C # mit LINQ ist eine bessere Möglichkeit, es zu testen.) Versuchen Sie die folgende Funktion:
%Vor% Stelle sicher, dass du System.Linq
natürlich importierst, und du bist bereit zu gehen.
In der Antwort von Noldorin sollte char.IsNumeric durch char.IsDigit für c # / .NET 4.0
ersetzt werdenDas folgende Jquery-Plugin namens pwdMeter funktioniert und scheint eine coole Methode zu sein, um dem Benutzer zu zeigen, was ein starkes Passwort ist und was nicht.