vue常用的金额数字正则表达式

33 篇文章 1 订阅
29 篇文章 1 订阅
// 验证金额 (^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)
export const ValidateAmount = (rule, value, callback) => {
  const { required } = rule
  if (value === '') {
    if (required) callback('请输入')
    else callback()
    // ^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$ 不输入0
  } else if (!/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)) {
    callback('请输入数字,金额输入不能小于0,最多只可保留2位小数')
  } else {
    callback()
  }
}
// 可输入0,保留2小数
export const ValidateZero = (rule, value, callback) => {
  const { required } = rule
  if (value === '') {
    if (required) callback('请输入')
    else callback()
  } else if (!/^\d+(\.\d{0,2})?$/.test(value)) {
    callback('请输入正确的数值(最多只能保留两位小数)')
  } else if (value > 10000000) {
    callback('单次输入不得大于10000000')
  } else {
    callback()
  }
}
// 不可以输入0,两位小数
export function ValidatorMoney(rule, value, callback) {
  const { required } = rule
  const reg = /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/
  if (value === '') {
    if (required) callback('请输入')
    else callback()
  } else if (!reg.test(value)) {
    callback('请输入正确数值,最多保留两位小数')
  } else {
    callback()
  }
}

// 校验大于0的整数
export function ValidatorInt(rule, value, callback) {
  const { required } = rule
  const reg = /^[1-9]*[1-9][0-9]*$/
  if (value === '') {
    if (required) callback('请输入')
    else callback()
  } else if (!reg.test(value)) {
    callback('请输入大于 0 的整数')
  } else {
    callback()
  }
}
// 校验大于等于0的整数
export function ValidatorIntZero(rule, value, callback) {
  const { required } = rule
  const reg = /^(0|[1-9][0-9]*)$/
  if (value === '') {
    if (required) callback('请输入')
    else callback()
  } else if (!reg.test(value)) {
    callback('请输入大于或等于 0 的整数')
  } else {
    callback()
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值