hc学习平台

 找回密码
 立即注册
搜索
热搜: 活动 交友 javakc
 › 学习交流 › JavaScript › 【正则表达式】在表单中输入密码,展示密码的强度
查看: 505|回复: 0
打印 上一主题 下一主题

【正则表达式】在表单中输入密码,展示密码的强度

[复制链接]
bo

1

主题

0

帖子

813

博客

bo

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

跳转到指定楼层
楼主
发表于2021-10-28 23:28:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. 只包含数字,密码强度:弱
  2. 包含小写英文字母,密码强度:弱
  3. 包含其他符号,密码强度:弱
  4. 包含数字和小写英文字母,密码强度:中
  5. 包含数字和其他符号,密码强度:中
  6. 包含其他符号和小写英文字母,密码强度:中

  1. 包含数字和小写英文字母、其他符号,密码强度:强

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        td > div {
            width: 200px;
            height: 60px;
            padding-top: 30px;

        }

        td > div > div {
            width: 60px;
            height: 8px;
            float: left;
            margin: 2px;
            text-align: center;
        }

        td > div > div.d1 {
            background-color: silver;
        }

    </style>

    <script>
      
        function f() {
            let input = document.getElementById("text").value;
            let lv = 0;//定义一个变量意思就是等级
            if (/^.{6,15}$/.exec(input)) {//任意字符 6-15位
                if (/\d/.exec(input)){
                    lv++;//如果全是数字,等级加1
                }
                if (/[a-z]/.exec(input)){
                    lv++//全是字母 等级加1
                }
                if (/[^0-9a-z]/.exec(input)){
                    lv++//[^]代表取反,如果不是数字和字母 等级加1

                }

            }
            a=document.getElementsByClassName("d1");
            for (let i = 0; i <a.length ; i++) {
                if (i<lv){//如果数值比等级小了变成绿色
                    a[i].style.backgroundColor="green";
                }else {
                    a[i].style.backgroundColor="silver";//如果数值比等级大了,变成灰色 也就是返回去
                }

            }
            console.log(lv)
        }
    </script>
</head>
<body>
<form>
    <table>
        <tr>
            <td>密码</td>
            <td><input type="text" id="text" oninput="f()"></td>
            <td>
                <div>
                    <div class="d1"></div>
                    <div class="d1"></div>
                    <div class="d1"></div>
                    <div>弱</div>
                    <div>中</div>
                    <div>强</div>
                </div>
            </td>
        </tr>
        <tr>
            <td></td>
            <td></td>
        </tr>
    </table>
</form>
</div>
</body>
</html>



站点统计|举报|Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, , Processed in 0.195171 second(s), 9 queries .

Powered by javakc! X1.0

© 2004-2014 javakc

f1208.com 备案号:京ICP备14030918号-1

返回顶部