我需要使用JavaScript验证数字字符串,以确保数字正好有两位小数。
只有在
时才会通过验证有效数字:
0.01
0.12
111.23
1234.56
012345.67
123.00
0.00
无效的数字:
.12
1.1
0.0
00.00
1234.
1234.567
1234
00123.45
abcd.12
12a4.56
1234.5A
我已尝试使用正则表达式[0-9][\.][0-9][0-9]$
,但它允许使用小数点前的字母12a4.56
。
答案 0 :(得分:5)
^(0|0?[1-9]\d*)\.\d\d$
\.\d\d$
其他两个条件可以重述如下:
这包括以下两种情况:
0
0?[1-9]\d*
答案 1 :(得分:4)
.
匹配任何角色,它不会按照您的想法执行。你必须逃脱它。此外,还有两个错误;尝试
^[0-9]+\.[0-9][0-9]$
相反,甚至更好,使用\d
作为十进制数字:
^\d+\.\d\d$
答案 2 :(得分:3)
答案 3 :(得分:0)
var values='0.12';
document.write(values.match(/\d+[.]+\d+\d/));
根据需要更改值并进行检查
答案 4 :(得分:0)
这是:
^(0[.]+\d{2})|^[1-9]\d+[.]+\d{2}$
答案 5 :(得分:0)
我用了这个
^ [1-9] [1-9] * [。]?[1-9] {0,2} $
0不接受
123.12接受但123.123不接受
1接受
12213123接受
sdfsf不接受
15.12接受
15 @ 12不接受
15&12不接受
答案 6 :(得分:0)
尝试此代码
pattern="[0-9]*(\.?[0-9]{1,2}$)?"
1有效
1.1有效
1.12有效
1.123无效
仅有效数字
pattern =“ [0-9] *(。?[0-9] {2} $)?”
1有效
1.1无效
1.12有效
1.123无效
仅有效数字