密码强度验证示例

验证密码强度,示例规则:以 6-18位密码,由数字、大小写字母、特殊字符两种以上,根据密码的组合来判定密码强度

效果示例

密码强度验证示例_第1张图片

html代码

js代码示例:

$(function () {

    // 密码验证 6-18位密码,由数字、大小写字母、特殊字符两种以上
    jQuery.validator.addMethod("isPwd", function (value, element) {
        value = jQuery.trim(value);
        let reg=/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9_A-Za-z\!\@\#\$\%\^\&\*\(\)\+\?\<\>\/\,\.]{8,18}$/;
        return this.optional(element) || reg.test(value);
    }, "请输8-18位,包含大写字母、小写字母、符号、数字中的2种以上");
   
    let form = $('#form-register').validate({
        rules: {           
            password: {
                required: true,
                isPwd: true
            },
            confirmPassword: {
                required: true,
                equalTo: "#password"
            },           
        },
        messages: {           
            password: {
                required: '请输入8-18位,包含字母、符号、数字中的2种以上'
            },
            confirmPassword: {
                required: '请输入确认密码',
                equalTo: '密码输入不一致,请重新输入'
            },          
        }
    })

    let reg = /.*[A-Z]+.*/  // 是否包含大写字母
    let reg2 = /.*[a-z]+.*/  // 是否包含小写字母
    let reg3 = /.*[0-9]+.*/ // 包含数字
    let reg4=/.*[\!\@\#\$\%\^\&\*\(\)\+\?\<\>\/\,\.]+.*/ // 包含特殊字符
    let pwdstrong = 0;
    let pwdLevel = 0;  

    //密码强度验证
    $('#password').on('keyup', function () {
        let val = $.trim(this.value)
        if (!val) {
            $('.pwd-strength span').removeClass('strength-green')
            // $('.strength-name').text('')
            return
        }

        if (reg.test(val)) {
            pwdstrong += 1;
        }
        if (reg2.test(val)) {
            pwdstrong += 1;
        }
        if (reg3.test(val)) {
            pwdstrong += 1;
        }
        if (reg4.test(val)) {
            pwdstrong += 1;
        }
        $('.pwd-strength span').removeClass('strength-green').filter(':lt(' + pwdstrong + ')').addClass('strength-green');
        // $('.strength-name').text(pwdstrong === 3 ? "强" : pwdstrong === 2 ? "中" : "弱");
        pwdLevel = pwdstrong;
        pwdstrong = 0;
    })

})

 

你可能感兴趣的:(前端开发)