VUE --- 自定义校验

VUE --- 自定义校验


只能输入数字和n位小数

reg = /^(([1-9][0-9]*)|(([0]\.\d{1,n}|[1-9][0-9]*\.\d{1,n})))$/

只能输入整数数字

  const validateOnlyNum = (rule, value, callback) => {
      if (value === '' || value === null) {
        return true
      } else {
        const reg = /^[0-9]*$/
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('只能输入整数数字'))
      }
    }

只能输入数字(小数)

    const validateNumAndPoint = (rule, value, callback) => {
      if (value === '' || value === null) {
        return true
      } else {
        const reg = /^\d+$|^\d*\.\d+$/g
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('只能输入数字'))
      }
    }

只能输入正整数

    const validatePositiveInt = (rule, value, callback) => {
      if (value === '' || value === null) {
        return true
      } else {
        const reg = /^[1-9]\d*$/
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('只能输入正整数'))
      }
    }

只能输入两位小数

    const validateNumAndTwo = (rule, value, callback) => {
      if (value === '' || value === null) {
        return true
      } else {
        const reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('只能输入两位小数'))
      }
    }

传真

    const validateFax = (rule, value, callback) => {
      if (value === '' || value === null) {
        return true
      } else {
        const reg = /^(\d{3,4}-)?\d{7,8}$/
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('传真号码格式不正确'))
      }
    }

只能输入数字和汉字

    const validateNumAndWords = (rule, value, callback) => {
      if (value !== '') {
        const reg = /^[0-9\u4e00-\u9fa5]+$/
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('只能输入数字和汉字'))
      } else {
        return true
      }
    }

1-10的两位小数

    const validate110PointTwo = (rule, value, callback) => {
      if (value !== '') {
        const reg = /^(([1-9](\.\d{1,2})?)|10|10.0)$/
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('请输入1-10的两位小数'))
      } else {
        return true
      }
    }

1-5的两位小数

    const validate15PointTwo = (rule, value, callback) => {
      if (value !== '') {
        const reg = /^(([1-4](\.\d{1,2})?)|5|5.0)$/
        if (reg.test(value)) {
          return callback()
        }
        callback(new Error('请输入1-5的两位小数'))
      } else {
        return true
      }
    }

8位小数经纬度

const validateLongitude = (rule, value, callback) => {
      const reg = /^(\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,8})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,8}|180)$/
      if (reg.test(value)) {
        return callback()
      }
      callback(new Error('经度整数部分为0-180,小数部分为0到8位!'))
}
const validateLatitude = (rule, value, callback) => {
      const reg = /^(\+)?([0-8]?\d{1}\.\d{0,8}|90\.0{0,8}|[0-8]?\d{1}|90)$/
      if (reg.test(value)) {
        return callback()
      }
      callback(new Error('纬度整数部分为0-90,小数部分为0到8位!'))
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。