vue正则校验可输入字符长度

背景:vue+iview,input输入框限制可输入字符长度限制

方案:自定义正则校验,首先在data中定义校验规则

const validateNameCheck = (rule, value, callback) => {
      let num = 0
      for (var i = 0; i < value.length; i++) {
        if (/[\u4e00-\u9fa5]/.test(value[i])) {
          num += 2
        } else {
          num++
        }
      }
      // console.log(num)
      if (num > 15) {
        callback(new Error('名称最多15个字符!'))
      } else {
        callback()
      }
    }

然后在正则对象中引用

ruleValidate: {
name: [
          { required: true, message: '名称不能为空', trigger: 'blur' },
          { validator: validateNameCheck, trigger: 'blur' }
        ]
}

你可能感兴趣的:(vue.js,javascript,正则,字符长度,iview)