js 密码 大写字母,小写字母,数字,特殊字符,包含2种以上

复制代码
const validatepassword = (rule, value, callback) => {
        if (value == "" || value == null) {
          return callback(new Error('请输入8位以上字符,包含大写字母、小写字母、数字、特殊字符的2种以上情况'));
        }
        if (value.length<8) {
          return callback(new Error('请输入8位以上字符,包含大写字母、小写字母、数字、特殊字符的2种以上情况'));
        }
        const reg1 = /[a-z]/;
        const reg2 = /[A-Z]/;
        const reg3 = /[0-9]/;
      const reg4 = /[^0-9a-zA-Z]/;
     var n=0;if(reg1.test(value)){
          n++;
        }
        if(reg2.test(value)){
          n++;
        }
        if(reg3.test(value)){
          n++;
        }
        if(reg4.test(value)){
          n++;
        }if(n>=2){
          return callback();
        }else {
          return callback(new Error('请输入8位以上字符,包含大写字母、小写字母、数字、特殊字符的2种以上情况'))
        }
      };
      return {
        password: [
          {
            required: true,
            message: '请输入原密码',
            trigger: 'blur',
          },
        ],
        newpassword: [
          {
            validator: validatepassword,
            trigger: 'blur',
          },
        ],
      };
复制代码

 

posted @   天天的蓝色  阅读(581)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示