密码校验数字加字母,开头为字母且不能为汉字

83 篇文章 1 订阅
18 篇文章 1 订阅
不能输入汉字

if (/[\u4E00-\u9FA5]/g.test(value)) {
必须包含数字和字母
!/^(?![^a-zA-Z]+$)(?!\D+$)/.test(value)
开头为字母
!/^[a-zA-Z](?!\D+$)/.test(value)
必须包含数字和字母且密码首字为字母
!/^[a-zA-Z](?![^a-zA-Z]+$)(?!\D+$)/.test(value)

例如 

 this.ruleFormRules = res.response.data[0]
        const { lengthMin, lengthMax, numbersAndLetters, initialIsLetter, canDuplicate } = this.ruleFormRules
        const validatePass = (rule, value, callback) => {
          if (value) {
            if (/[\u4E00-\u9FA5]/g.test(value)) {
              callback(new Error(`不能输入汉字`))
            } else {
              if (numbersAndLetters && !/^(?![^a-zA-Z]+$)(?!\D+$)/.test(value)) {
                callback(new Error(`密码长度${lengthMin}-${lengthMax}位,必须包含数字和字母!`))
              } else if (initialIsLetter && !/^[a-zA-Z](?!\D+$)/.test(value)) {
                callback(new Error(`密码长度${lengthMin}-${lengthMax}位,首字应为字母!`))
              } else if (numbersAndLetters && initialIsLetter && !/^[a-zA-Z](?!\D+$)/.test(value)) {
                callback(new Error(`密码长度${lengthMin}-${lengthMax}位,${numbersAndLetters ? '必须包含数字和字母且' : ''}首字为字母!`))
              } else if (!canDuplicate && this.pwdData.old_password == value) {
                callback(new Error('原密码和新密码不能相同!'))
              }
            }
          } else {
            callback()
          }
        }
        const password = [
          {
            min: lengthMin,
            max: lengthMax,
            message: `密码长度${lengthMin}-${lengthMax}位${numbersAndLetters ? ',必须包含数字和字母' : ''}${initialIsLetter ? '且密码首字为字母' : ''}`,
            trigger: ['blur']
          },
          { validator: validatePass, trigger: 'blur' }
        ]
        this.pwdRules.password = [...this.pwdRules.password, ...password]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值