一、php页面
$score = 0;
if(!empty($_GET['value'])){ //接收的值
$str = $_GET['value'];
} else{
$str = '';
}
if(preg_match("/[0-9]+/",$str))
{
$score ++;
}
if(preg_match("/[0-9]{3,}/",$str))
{
$score ++;
}
if(preg_match("/[a-z]+/",$str))
{
$score ++;
}
if(preg_match("/[a-z]{3,}/",$str))
{
$score ++;
}
if(preg_match("/[A-Z]+/",$str))
{
$score ++;
}
if(preg_match("/[A-Z]{3,}/",$str))
{
$score ++;
}
if(preg_match("/[_|-|+|=|*|!|@|#|$|%|^|&|(|)]+/",$str))
{
$score += 2;
}
if(preg_match("/[_|-|+|=|*|!|@|#|$|%|^|&|(|)]{3,}/",$str))
{
$score ++ ;
}
if(strlen($str) >= 10)
{
$score ++;
}
echo $score;
exit;
二、html页面
| 输入密码: | ||||
| 密码强度: | 弱 | 无中等 | 强 | 极好 |
三、js
function getPassword(){
var value = $("input[name='newpwd']").attr('value');
$.get('index.php?r=account/testpwd',{value:value},function(data){
if(data>=1 && data<=3){
$('#idSM1').attr('class','pwdChkCon1'); //弱
$('#idSM2').attr('class','pwdChkCon0');
$('#idSM3').attr('class','pwdChkCon0');
$('#idSM4').attr('class','pwdChkCon0');
$('#idSMT1').show();
$('#idSMT0').hide();
$('#idSMT2').hide();
$('#idSMT3').hide();
$('#idSMT4').hide();
} else if(data>=4 && data<=6){ //中等
$('#idSM1').attr('class','pwdChkCon2');
$('#idSM2').attr('class','pwdChkCon2');
$('#idSM3').attr('class','pwdChkCon0');
$('#idSM4').attr('class','pwdChkCon0');
$('#idSMT0').hide();
$('#idSMT1').hide();
$('#idSMT2').show();
$('#idSMT3').hide();
$('#idSMT4').hide();
} else if(data>=7 && data<=8){ //强
$('#idSM1').attr('class','pwdChkCon3');
$('#idSM2').attr('class','pwdChkCon3');
$('#idSM3').attr('class','pwdChkCon3');
$('#idSM4').attr('class','pwdChkCon0');
$('#idSMT0').hide();
$('#idSMT1').hide();
$('#idSMT2').hide();
$('#idSMT3').show();
$('#idSMT4').hide();
} else if(data>=9 && data<=10){ //极好
$('#idSM1').attr('class','pwdChkCon4');
$('#idSM2').attr('class','pwdChkCon4');
$('#idSM3').attr('class','pwdChkCon4');
$('#idSM4').attr('class','pwdChkCon4');
$('#idSMT0').hide();
$('#idSMT1').hide();
$('#idSMT2').hide();
$('#idSMT3').hide();
$('#idSMT4').show();
}
});
}
四、css
.pwdChkCon0 {BORDER-RIGHT: #bebebe 1px solid;BORDER-BOTTOM: #bebebe 1px solid;BACKGROUND-COLOR: #ebebeb;TEXT-ALIGN: center;}
.pwdChkCon1 {BORDER-RIGHT: #bb2b2b 1px solid;BORDER-BOTTOM: #bb2b2b 1px solid;BACKGROUND-COLOR: #ff4545;TEXT-ALIGN: center;}
.pwdChkCon2 {BORDER-RIGHT: #e9ae10 1px solid;BORDER-BOTTOM: #e9ae10 1px solid;BACKGROUND-COLOR: #ffd35e;TEXT-ALIGN: center;}
.pwdChkCon3 {BORDER-RIGHT: #267a12 1px solid;BORDER-BOTTOM: #267a12 1px solid;BACKGROUND-COLOR: #3abb1c;TEXT-ALIGN: center;}
.pwdChkCon4 {BORDER-RIGHT: #267a12 1px solid;BORDER-BOTTOM: #267a12 1px solid;BACKGROUND-COLOR: #3abb1c;TEXT-ALIGN: center;}
本文介绍了如何使用PHP实现页面动态评估用户输入的密码强度,并结合正则表达式和字符长度规则,同时配合HTML和JavaScript交互,实时显示密码等级。通过实例展示了弱、中等、强、极好的判断标准。
643

被折叠的 条评论
为什么被折叠?



