美文网首页
密码强度校验-前端js

密码强度校验-前端js

作者: 沉默紀哖呮肯伱酔 | 来源:发表于2020-05-20 18:23 被阅读0次

    使用js对用户输入的密码进行强度校验

    密码复杂度提示:当用户输入密码后,页面显示提示用户输入密码的复杂度(低、中、高),复杂度提示如下:

    • 低:6-7位(仅含两种字符)
    • 中:6-7位(含三种及三种以上字符),8-11位(含两种字符)
    • 高:12-20位(含两种字符),8-20位(含三种及三种以上字符)

    解题思路:

       字符种类数                 字符长度length                        
                                  6~7    |     8~11    |    12~20                     
          0                            
          1
          2                        低           中            高
          3                        中           高            高
    
    getPasswordLevel = (password = "") =>  {
            const passwordLength = password.length;
            let level = 0;
            let num = 0;
            if (password.match(/[a-zA-Z]/g)) {
                num++;
            }
            if (password.match(/[0-9]/g)) {
                num++;
            }
            if (password.match(/[^\w\s]+/g)) {
                num++;
            }
            if (passwordLength < 6) {
                num = 0;
            }
    
            switch (num) {
                case 0:
                case 1:
                    break;
                case 2:
                    if (passwordLength > 7) {
                        level++;
                    }
                    level += Math.ceil(passwordLength / 11);
                    break;
                case 3:
                    level++;
                    level += Math.ceil(passwordLength / 7);
                    break;
            }
    
            return level;
        }
    
    

    相关文章

      网友评论

          本文标题:密码强度校验-前端js

          本文链接:https://www.haomeiwen.com/subject/lgwnohtx.html