JavaScript正则表达式十进制

javascript regex decimal

本文关键字:十进制 正则表达式 JavaScript      更新时间:2023-09-26
var re = /^([0-9]*)('.[0-9]{2})$/
re.test(.22)
true
re.test(.20)
false
re.test(10.02)
true
re.test(10.00)
false
我希望它通过 10.00、

10.02、10.20。看起来它只通过了 10.02。

我做错了什么?

在调用 test() 期间完成自动字符串转换时,尾随零将被截断。您可以使用toFixed()手动进行字符串转换。

例如:

var re = /^([0-9]*)('.[0-9]{2})$/;
re.test((.22).toFixed(2)); //True
re.test((.20).toFixed(2)); //True
re.test((10.02).toFixed(2)); //True
re.test((10.20).toFixed(2)); //True
re.test((10.00).toFixed(2)); //True

你正在将数字传递给re.test,而你应该传递字符串,如下所示:

re.test('.22')
re.test('.20')
re.test('10.02')
re.test('10.00')