<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<style type="text/css">
#dv{
width: 300px;
height:200px;
position: absolute;
left:300px;
top:100px;
}
.strengthLv0 {
height: 6px;
width: 120px;
border: 1px solid #ccc;
padding: 2px;
}
.strengthLv1 {
background: red;
height: 6px;
width: 40px;
border: 1px solid #ccc;
padding: 2px;
}
.strengthLv2 {
background: orange;
height: 6px;
width: 80px;
border: 1px solid #ccc;
padding: 2px;
}
.strengthLv3 {
background: green;
height: 6px;
width: 120px;
border: 1px solid #ccc;
padding: 2px;
}
</style>
<body>
<div id="dv">
<label for="pwd">密码</label>
<input type="text" id="pwd" maxlength="16"><!--课外话题-->
<div>
<em>密码强度:</em>
<em id="strength"></em>
<div id="strengthLevel" class="strengthLv0"></div>
</div>
</div>
<script>
// 获取密码ID
var pwd = document.getElementById("pwd");
// 获取强度id
var ss = document.getElementById("strengthLevel");
// 注册键盘抬起事件
pwd.onkeyup = function(){
// 方法1
//密码长度大于6开始判断密码强度
// if(this.value.length >= 6){
// // 把输入框内的value赋值给lvl
// var lvl = getpassword(this.value);
// //判断lvl的等级
// if(lvl == 1){
// ss.className = "strengthLv1";
// }else if(lvl == 2){
// ss.className = "strengthLv2";
// }else if(lvl == 3){
// ss.className = "strengthLv3";
// }
// }else{
// //密码强度低于6取消判断密码强度
// ss.className = "strengthLv0";
// }
// 方法2
// if(this.value.length >= 6){
// var lvl = getpassword(this.value);
// ss.className = "strengthLv"+lvl;
// }else{
// ss.className = "strengthLv0";
// }
// 方法3
ss.className = "strengthLv"+(this.value.length >= 6?getpassword(this.value):0)
};
//判断获取密码级别
function getpassword(pwd){
var lvl = 0;//默认等级是0
//判断密码中是否有数字、字母、特殊符号
// 判断数字
if(/[0-9]/.test(pwd)){
lvl++;
}
// 判断有没有字母
if(/[a-zA-Z]/.test(pwd)){
lvl++;
}
// 判断有没有特殊符号
if(/[^0-9a-zA-A_]/.test(pwd)){
lvl++;
}
return lvl; //默认传出是1
}
</script>
</body>
</html>