3

我需要一个接受最多 3 位小数的小数的正则表达式

如果有第 3 位小数,它必须是 0 或 5

通过测试:

1
1.0
1.12
0.12
.12
.125
0.125
0.120
123.000

失败的测试:

0.0121
abc1 //anything obiously that is not a decimal number

这是我到目前为止所拥有的,^\d*((\d\.)|(\.\d))?\d{0,1}$它给了我一个有 2 位的小数,所以[05]我相信只需要添加

如何才能做到这一点?

4

1 回答 1

3

这通过了测试,这是您要找的吗?

^\d+$|^\d*[.]\d{0,2}[05]?$

如果不允许“仅点”,则变为:

^\d+(?:[.]\d{0,2}[05]?)?$|^[.]\d{1,2}[05]?$
于 2013-10-30T07:54:41.513 回答