急!!!选修课作业,实在是不懂,用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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com