php 判断密码是否简单
原理:正则表达式/((^[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,}/ 强密码
代码如下/**
* 检测密码强度
* @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;
}
}
测试:$r = _checkPwLevel('123465');
echo $r;
$r = _checkPwLevel('abc1345678');
echo $r;
$r = _checkPwLevel('123456...');
echo $r;
结果:321
// 强 中 弱
更多PHP相关知识,请访问PHP中文网!