// 验证金额 (^[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()
}
}
vue常用的金额数字正则表达式
于 2022-06-13 15:30:48 首次发布