当前位置:编程学习 > JS >>

javascript 密码强度验证程序代码

我们先来看强度规则

1) 任何少于6个字符的组合,弱;任何字符数的同类字符组合,弱;       

2) 任何字符数的两类字符组合,中;       

3) 12位字符数以下的三类或四类字符组合,强;       

4) 12位字符数以上的三类或四类字符组合,非常好。

 代码如下 复制代码

<head>   

<title>密码强度检测</title>   

<style type="text/css">       

body { font: 12px/1.5 Arial; }       

input{  float: left;font-size: 12px; width: 150px;font-family: arial; border: 1px solid #ccc; padding: 3px;}       

input.correct{ border: 1px solid green; }       

input.error{border: 1px solid red;}       

#tips{float: left; margin: 2px 0 0 20px; }       

#tips span {float: left;  width: 50px; height: 20px; color: #fff;overflow: hidden;background: #ccc;margin-right: 2px;line-height: 20px; text-align: center;}       

#tips.s1 .active { background: #f30; }       

#tips.s2 .active {background: #fc0; }       

#tips.s3 .active {background: #cc0;}       

#tips.s4 .active  {background: #090; }   

</style>   

<script type="text/javascript">       

window.onload = function () {           

var oTips = document.getElementById("tips");           

var oInput = document.getElementsByTagName("input")[0];           

var aSpan = oTips.getElementsByTagName("span");           

var aStr = ["弱", "中", "强", "非常好"];           

var i = 0;

oInput.onkeyup = oInput.onfocus = oInput.onblur = function () {               

var index = checkStrong(this.value);               

this.className = index ? "correct" : "error";               

oTips.className = "s" + index;               

for (i = 0; i < aSpan.length; i++) aSpan[i].className = aSpan[i].innerHTML = "";               

index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1])             }         };       

 

//检测密码强度       

function checkStrong(sValue) {           

var modes = 0;           

if (sValue.length < 6) return modes;           

if (/d/.test(sValue)) modes++; //数字           

if (/[a-z]/.test(sValue)) modes++; //小写           

if (/[A-Z]/.test(sValue)) modes++; //大写            

if (/W/.test(sValue)) modes++; //特殊字符           

switch (modes) {               

case 1:                   

return 1;                   

break;               

case 2:                   

return 2;               

case 3:               

case 4:                   

return sValue.length < 12 ? 3 : 4                   

break;             }         }   

</script>

</head>

<body>   

<input type="password" value="" maxlength="16" />     <div id="tips">       

<span></span><span></span><span></span><span></span>   

</div>

</body>

补充:网页制作,js教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,