Maison >développement back-end >Problème PHP >php détermine si le mot de passe est simple
php détermine si le mot de passe est simple
Principe : Expression régulière
/((^[0-9]{6,})|(^[a-z]{6,})|(^[A-Z]{6,}))$/ 弱密码 /((^[0-9,a-z]{6,})|(^[0-9,A-Z]{6,})|(^[a-z,A-Z]{6,}))$/ 中密码 /^[\x21-\x7e,A-Za-z0-9]{6,}/ 强密码
Le code est le suivant
/** * 检测密码强度 * @param string $pw 密码 * @return int */ function _checkPwLevel($pw){ if(empty($pw)){ return 0; } $pattern['weak'] = '/((^[0-9]{6,})|(^[a-z]{6,})|(^[A-Z]{6,}))$/'; $pattern['middle'] = '/((^[0-9,a-z]{6,})|(^[0-9,A-Z]{6,})|(^[a-z,A-Z]{6,}))$/'; $pattern['strong'] = '/^[\x21-\x7e,A-Za-z0-9]{6,}/'; $key =''; foreach($pattern as $k=>$v){ $res = preg_match($v,$pw); if($res){ $key = $k; break; } } switch ($key){ case 'weak': return 3; case 'middle': return 2; case 'strong': return 1; default: return 0; } }
Test :
$r = _checkPwLevel('123465'); echo $r; $r = _checkPwLevel('abc1345678'); echo $r; $r = _checkPwLevel('123456...'); echo $r;
Résultat :
321 // 强 中 弱
Plus Pour des connaissances liées à PHP, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!