vue 高级密码设置(以字母开头 由数字 字母及特殊字符组成)

// 是否包含一位数字
    const regNumber = /(?=.*[\d])/
    // 是否包含一位字母
    const regLetter = /(?=.*[a-zA-Z])/
    // 是否包含一位特殊字符
    const regCharacter = /(?=.*[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、])/
    // 校验新密码
    const validatePass = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('新密码不能为空!请重新输入'))
      } else {
        if (value.length > 16) {
          callback(new Error('密码长度不超过16个字符。'))
        } else if (value.length < 8) {
          callback(new Error('密码长度不低于8个字符。'))
        } else {
          if (!/^[a-zA-Z\d]{1}/.test(value)) {
            callback(new Error('密码必须以英文字母或数字开头!'))
          } else {
            if (!regNumber.test(value)) {
              callback(new Error('密码必须由数字,英文字母和特殊字符组成!'))
            } else if (!regLetter.test(value)) {
              callback(new Error('密码必须由数字,英文字母和特殊字符组成!'))
            } else if (!regCharacter.test(value)) {
              callback(new Error('密码必须由数字,英文字母和特殊字符组成!'))
            } else {
              callback()
            }
          }
        }
      }
    }

在data里面声明 剩下的就结合element 表单自定义校验 此处都省略了 自己看看吧

猜你喜欢

转载自blog.csdn.net/xy19950125/article/details/105735068