急!!!选修课作业,实在是不懂,用js做一个判断密码强度的效果,求代码,求...
发布网友
我来回答
共2个回答
热心网友
我写的规则是 6位以上等级加1,12位以上加1,有小写英文或大写英文加1,大小写都有加2
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
input{
float: left;
}
.d1{
float: left;
width: 30px;
height: 20px;
border-radius: 8px;
border: black solid 1px;
}
</style>
</head>
<body>
<input onkeyup="fn()"><div class="d1"></div><div class="d1"></div><div class="d1"></div><div class="d1"></div>
<script>
var i = 0;
function fn(){
i=0;
var val = document.getElementsByTagName('input')[0].value;
var diArr = document.getElementsByTagName('div');
for(var j=0;j<diArr.length;j++){
diArr[j].style.background = "white";
}
console.log(val.length);
if(val.length>=6){
diArr[i].style.background = "red";
i++;
if(/[a-z]/.test(val) && /[A-Z]/.test(val)){
diArr[i].style.background = "red";
i++;
diArr[i].style.background = "red";
i++;
}else if(/[a-z]/.test(val) || /[A-Z]/.test(val)){
diArr[i].style.background = "red";
i++;
}
if(val.length >= 12){
diArr[i].style.background = "red";
i++;
}
}
}
</script>
</body>
</html>
热心网友
var safeLv=0;
var val=$("...").val();//输入框的值
var reg = new RegExp(/^(?!\D+$)(?![^a-zA-Z]+$)[a-zA-Z0-9].{6,20}$/);
val.length>=6&&safeLv++;//大于等于6位+1
reg.test(val)&&safeLv++;//不是纯数字或者纯字母+1
val.length>10&&safeLv++;//大于10位+1
return safeLv //安全等级
只贴js