设置密码8-16位大写字母+小写字母+数字+特殊字符

我的这个效果是结合element UI的样式显示的,大家主要看函数里边对应的实现方法

主要的js代码:

 var validatePass = (rule, value, callback) => {
                var rules = {
                    lw: '[a-z]',
                    uw: '[A-Z]',
                    nw: '[0-9]',
                    sw: '[`~!@#$^&*()=|{}\':;,\\[\\].<>《》/?~!@#¥……&*()——|{}【】‘;:\\\\ ”“。,、?]'
                }
                function reg(str, patter) {
                    var reg = new RegExp(patter);
                    if (reg.test(str)) {
                        return true;
                    }
                    return false;
                }
                if (value === '') {
                    callback(new Error('请输入8-16位大写字母+小写字母+数字+特殊字符'));
                } else {
                    if (value.length < 8 || value.length > 16) {
                        callback(new Error('请输入8-16位大写字母+小写字母+数字+特殊字符'));
                    } else {
                        var valiWord = {
                            l: reg(value, rules.lw),
                            u: reg(value, rules.uw),
                            n: reg(value, rules.nw),
                            s: reg(value, rules.sw)
                        }
                        if (valiWord.s) {
                            if (valiWord.l && valiWord.u && valiWord.n && valiWord.s) {
                                this.$refs.ruleForm.validateField('checkPass');
                            }else{
                                callback(new Error('请输入8-16位大写字母+小写字母+数字+特殊字符'));
                            }
                        } 
                    }
                    callback()
                }
            };

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值