前言
网上看了好些个正则,在匹配大于0最多几位小数时,往往'0.00'都会为true,包括chatGPT返回的结果。
正则匹配大于0最多两位小数
const reg = /^(([1-9]\d*(\.\d{1,2})?)|(0\.(([1-9]\d?)|(\d[1-9]))))$/
reg.test('0.00')
// false
reg.test('0.01')
// true
reg.test('1.01')
// true
reg.test('11.10')
// true
reg.test('11.11')
// true
// 如果想要匹配类型 0.0100000
const reg2 = /^(([1-9]\d*(\.\d{1,2})?)|(0\.(([1-9]\d?)|(\d[1-9]))))0*$/
reg2.test('0.01000')
// true