php判断密码是否简单
原理:正则表达式
代码如下
测试:
结果:
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
立即学习
“
PHP免费学习笔记(深入)
”;
更多PHP相关知识,请访问
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
// 强 中 弱