Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第三个十进制数为0或5的正则表达式十进制数_Javascript_Regex - Fatal编程技术网

Javascript 第三个十进制数为0或5的正则表达式十进制数

Javascript 第三个十进制数为0或5的正则表达式十进制数,javascript,regex,Javascript,Regex,我需要一个正则表达式,它接受最多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 测试失败: 1 1.0 1.12 0.12 .12 .125 0.125 0.120 123.000 0.0121 abc1 //anything obiously that is not a

我需要一个正则表达式,它接受最多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
测试失败:

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]


如何做到这一点?

这通过了测试,这就是你想要的吗

^\d+$|^\d*[.]\d{0,2}[05]?$
如果不允许“仅点”,则它变为:

^\d+(?:[.]\d{0,2}[05]?)?$|^[.]\d{1,2}[05]?$

如果“最后一位小数”只能是0或5,那么
1.12
如何有效?或者它是“第三个小数点,如果存在,只能是0或5”?如果有第三个小数点,它必须是0或5@joachimsauerys,就把它当作一个货币值,如果有第三个小数点,它必须是0或5@falsetruGood解,我个人更喜欢
\.
而不是
[.]
,但这只是口味的问题。它似乎匹配一个简单的点
。嗯,如何修改它使其在单个点上失败@SP00M快速修复,但显然可以改进
^\d+$^\d+[.]\d{0,2}[05]?$\^[.]\d{1,2}[05]?$
@ojhawkins,请检查新的