// You can set your own rules
function checkPasswordStrength($password) {
$length = strlen($password);
$hasLower = false;
$hasUpper = false;
$hasDigit = false;
$specialChar = false;
$lowuppdig = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
for ($i = 0; $i < $length; $i++) {
if (ctype_lower($password[$i])) {
$hasLower = true;
}
if (ctype_upper($password[$i])) {
$hasUpper = true;
}
if (ctype_digit($password[$i])) {
$hasDigit = true;
}
if (strpos($lowuppdig, $password[$i]) === false) {
$specialChar = true;
}
}
if ($hasLower && $hasUpper && $hasDigit && $specialChar && $length >= 10) {
return 'Strong';
} else if (($hasLower || $hasUpper) && $specialChar && $length >= 8) {
return 'Medium';
}
return 'Weak';
}
$passwords = ['aq1o@p9$XM', 'asW!W)(o', 'WSDFK!#Q', 'n*djskq*', 'WE3q#$'];
foreach ($passwords as $password) {
echo checkPasswordStrength($password) . "\n";
}
/*
run:
Strong
Medium
Medium
Medium
Weak
*/