常用的输入校验

1.电话号码校验

const validatePhone = (rule, value, callback) => {
  if (value) {
    let mol = /^1\d{10}$/
    var phone = /^([0-9]{3,4}-)?[0-9]{7,8}$/
    if (value) {
      if (phone.test(value) || mol.test(value)) {
        callback()
      } else {
        callback(new Error('电话号码格式不正确!'))
      }
    } else {
      callback(new Error('请输入电话号码!'))
    }
  } else {
    callback()
  }
}

2.经纬度校验

const validateUnionLonlat = (rule, value, callback, lon, lat, isnull) => {
  let func = (rule, value, callback) => {
    if (!lon || !lat) {
      if (isnull) {
        if (!lon && !lat) {
          callback()
        }
      }
      callback(new Error('请输入经纬度,经纬度不能为空'))
    }
    var reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/
    if (reg.test(lon) && reg.test(lat)) {
      if (parseFloat(lon) <= 180 &&
        parseFloat(lon) >= -180 &&
        parseFloat(lat) <= 90 &&
        parseFloat(lat) >= -90) {
        callback()
      } else {
        callback(new Error('请输入正确的经纬度'))
      }
    } else {
      callback(new Error('请输入正确的经纬度'))
    }
  }
  return func(rule, value, callback)
}

3.数字必填项校验

const numPass = (rule, value, callback, noMessage, isPositive) => {
  let text = noMessage ? noMessage : '请填写数字'
  const reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
  var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
  if (!value) {
    if (value == 0 && !isPositive) {
      callback()
    } else {
      return callback(new Error(text))
    }
  } else if (!reg.test(value) && !regNeg.test(value)) {
    return callback(new Error(text))
  } else {
    callback()
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值