2016-08-18 2 views
1
$password = 'pwd3000!'; 

if(!preg_match('/^(?=.{4,31}$)(?!.*(.)\1{4}). \w[\w.-]+\w$/', $password)){ 
    echo 'Your password is too easy'; 
} else { 
    echo 'Your password is strong'; 
} 

Wenn ein Passwort mehr als 4 sich wiederholende Zeichen hat Ich will echo ‚Ihr Passwort ist zu einfach‘ zu wiederholen.Prevent Zeichen Passwort

Gerade jetzt, wenn ich den Code ausführen, bekomme ich 'Ihr Passwort es zu einfach'. Aber es sind nur 3 sich wiederholende Zeichen in der Zeichenfolge, nicht 4. Wie behebe ich das?

+0

Mögliche dublicate von http://stackoverflow.com/questions/20770148/how-to-prevent-the-user-from-repeating -a-zeichen-mehr-als-drei-mal-im- –

+0

Herausfiltern von sich wiederholenden Zeichen oder * aufeinanderfolgenden * sich wiederholenden Zeichen? – castis

+0

@castis konsekutiv – brewpixels

Antwort

1

Versuchen Sie folgendes:

$password = "aaaabb"; 
if (preg_match('/(\w)\1{3,}/', $password)) { 
    echo 'Your password is too easy'; 
} else { 
    echo 'Your password is strong'; 
} 

Ausgang:

Your password is too easy