密码强度校验-前端js

2020-05-20  本文已影响0人  沉默紀哖呮肯伱酔

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

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

解题思路:

   字符种类数                 字符长度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;
    }

上一篇下一篇

猜你喜欢

热点阅读