校验字符串中是否含有数字

最近在做项目时,有一个需求是校验姓名中不含有数字

(1) // 校验联系人

    validateName(rule, value, callback) {

      if (new RegExp('[0-9]').test(value)) {

        callback(new Error(rule.message || '请输入正确的联系人'))

      }

      callback()

    }

(2) // 校验手机号

    validatePhoneNum(rule, value, callback) {

      let phone = /^1[3456789]\d{9}$/

扫描二维码关注公众号,回复: 11368888 查看本文章

      var tel = /^0\d{2,3}-?\d{7,8}$/

      if (value) {

        if (value.length === 11) {

          if (!phone.test(value)) {

            callback(new Error(rule.message || '请输入正确的联系方式'))

            return

          } else {

            callback()

          }

        } else if (value.length === 13 && value.indexOf('-') !== -1) {

          if (!tel.test(value)) {

            callback(new Error(rule.message || '请输入正确的联系方式'))

            return

          } else {

            callback()

          }

        } else {

          callback(new Error(rule.message || '请输入正确的联系方式'))

          return

        }

      }

      callback()

    },

(3) 

/**

 * 校验输入的数字必须是正整数

 * @param {*} rule

 * @param {*} value

 * @param {*} callback

 */

export function validateIntegerNum(rule, value, callback) {

  let val = new RegExp('^[1-9][0-9]*$').test(value)

  if (value && !val) {

    callback(new Error(rule.message || '此项必须输入正整数'))

  } else {

    callback()

  }

}

// 校验规则

      rules: {

      // 表单字段 phoneNum

        phoneNum: [

          {

            validator: validateRequire,

            message: '请输入电话号码',

            trigger: ['change']

          },

          { validator: this.validatePhoneNum, message: '请输入正确的电话号码', trigger: ['blur', 'change'] }

        ],

       // 表单字段 name

        name: [{validator: this.validateName, message: '请输入正确的联系人', trigger: ['change']}]

      }

传入 rule, value, callback这三个参数,这样校验器就可以写入表单元素中,当表单提交时就会按照表单元素的校验法则去展示错误消息,如下图:

猜你喜欢

转载自blog.csdn.net/qyl_0316/article/details/106947314