javascripit实现密码强度检测代码分享
javascripit实现密码强度检测代码分享
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:密码强度检测body{font:12px/1.5Arial;}input{float:left;font-size:12p...

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<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])

}

};

/** 强度规则

+ ------------------------------------------------------- +

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

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

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

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

+ ------------------------------------------------------- +

**/

//检测密码强度

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>

</html>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类