检测密码强度的简单JS代码


<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>密码强度</title>
<style type="text/css">
body{
 font-size:12px;
 font-family: arial, helvetica, sans-serif;
 margin:0;
}
form{
 margin:2em;
}
#chkresult{margin-left:53px;height:15px;}
</style>
</head>

<body>
<form name="form1">
 <label for="pwd">用户密码</label>
 <input type="password" name="pwd" onblur="chkpwd(this)" />
 <div id="chkresult"></div>
 <label for="pwd2">重复密码</label>
 <input type="password" name="pwd2" />
</form>
<script type="text/javascript">
 function chkpwd(obj){
  var t=obj.value;
  var id=getresult(t);
 
  //定义对应的消息提示
  var msg=new array(4);
  msg[0]="密码过短。";
  msg[1]="密码强度差。";
  msg[2]="密码强度良好。";
  msg[3]="密码强度高。";
 
  var sty=new array(4);
  sty[0]=-45;
  sty[1]=-30;
  sty[2]=-15;
  sty[3]=0;
 
  var col=new array(4);
  col[0]="gray";
  col[1]="red";
  col[2]="#ff6600";
  col[3]="green";
 
  //设置显示效果
  var bimg="http://bbs.blueidea.com/attachments/2006/12/7/pwdlen_dsipeegqwxfo.gif";//一张显示用的图片
  var swidth=300;
  var sheight=15;
  var bobj=document.getelementbyid("chkresult");

  bobj.style.fontsize="12px";
  bobj.style.color=col[id];
  bobj.style.width=swidth + "px";
  bobj.style.height=sheight + "px";
  bobj.style.lineheight=sheight + "px";
  bobj.style.background="url(" + bimg + ") no-repeat left " + sty[id] + "px";
  bobj.style.textindent="20px";
  bobj.innerhtml="检测提示:" + msg[id];
 }
 
 //定义检测函数,返回0/1/2/3分别代表无效/差/一般/强
 function getresult(s){
  if(s.length < 4){
   return 0;
  }
  var ls = 0;
  if (s.match(/[a-z]/ig)){
   ls++;
  }
  if (s.match(/[0-9]/ig)){
   ls++;
  }
   if (s.match(/(.[^a-z0-9])/ig)){
   ls++;
  }
  if (s.length < 6 && ls > 0){
   ls--;
  }
  return ls
 }
</script>
</body>

</html>


申明:本区内容收集自网络,如有署名问题请速与我们(luokelong#it168.com)联系,感谢您的支持。
7上一页  下一页8

制作:罗可龙 电邮:luokelong(at)it168.com