前言
正则校验正数或零,且最多只能保留2位小数,如下:
代码
const validateNum = (num) => {
let reg = /^([0]|([1-9][0-9]*)|(([0]\.\d{1,}|[1-9][0-9]*\.\d{1,})))$/
if (!reg.test(num)) {
console.warn('只能输入正数或零')
return
}
reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/
if (!reg.test(num)) {
console.warn('请保留2位小数')
return
}
console.log('格式正确:', num)
}
console.log(validateNum('00'))
console.log(validateNum('01'))
console.log(validateNum(''))
console.log(validateNum('a'))
console.log(validateNum('1.234'))
console.log(validateNum('2.1'))
console.log(validateNum('1.00'))
console.log(validateNum('2'))