日期:2014-05-16  浏览次数:20425 次

php判断密码强度实现和JS密码强度验证
功能:判断密码强度
结果形式:
打分(满分为10)

代码:

???????????$score = 0;
???????????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 "<br>";
???????????echo $score;
?
JS实现密码强度验证:
<script type="text/javascript"> 
var $ = function(v){return document.getElementById(v);} 
function isSecurity(v){ 
if (v.length < 3) { iss.reset();return;} 
var lv = -1; 
if (v.match(/[a-z]/ig)){lv++;} 
if (v.match(/[0-9]/ig)){lv++;} 
if (v.match(/(.[^a-z0-9])/ig)){lv++;} 
if (v.length < 6 && lv > 0){lv--;} 
iss.reset(); 
switch(lv) { 
case 0: 
iss.level0(); 
break; 
case 1: 
iss.level1(); 
break; 
case 2: 
iss.level2(); 
break; 
default: 
iss.reset(); 
} 
} 
var iss = { 
color:["CC0000","FFCC33","66CC00","CCCCCC"], 
text:["弱","中","强"], 
width:["50","100","150","10"], 
reset:function(){ 
$("B").style.backgroundColor = iss.color[3]; 
$("B").style.width = iss.width[3]; 
$("A").innerHTML = "验证试中"; 
}, 
level0:function(){ 
$("B").style.backgroundColor = iss.color[0]; 
$("B").style.width = iss.width[0]; 
$("A").innerHTML = "较弱"; 
}, 
level1:function(){ 
$("B").style.backgroundColor = iss.color[1]; 
$("B").style.width = iss.width[1]; 
$("A").innerHTML = "中"; 
}, 
level2:function(){ 
$("B").style.backgroundColor = iss.color[2]; 
$("B").style.width = iss.width[2]; 
$("A").innerHTML = "高强"; 
} 
} 
</script> 
<input type="password" name="password" size="25" maxlength="20" onkeyup="isSecurity(this.value);"> 
<font class="red" id="A">密码强度</font> 
<table height="8" border="1" align="left" cellpadding="0" cellspacing="0" bordercolor="#EEEEEE" style="border-collapse:collapse;"> 
<tr> 
<td bgcolor="#EEEEEE" width="1" align="center" valign="middle" id="B"></td> 
</tr> 
</table>
?