我正在努力为我的需求找到有效的价格验证..
有效输入格式(xxx表示没有最大长度 - 0000表示最多4位小数):
15,0000
15.0000
150.0000
150,0000
xxxxxxxxxxxx.0000
xxxxxxxxxxxx,0000
15,00
15,1
15.00
15.1
无效的输入格式(基本上所有以0开头的内容):
01.0000
01.00
01
到目前为止我的正则表达式:^\$?[1-9][1-9,]*[0-9]\.?[0-9]{0,2}$
修改1 :更改了我的正则表达式:^\$?[1-9]*[1-9]((\,)|(\.))?[0-9]{0,4}$
但现在我需要能够添加150000000
,它只允许我150000
< / p>
答案 0 :(得分:2)
怎么样:
^([1-9].*[,\.][0-9]*)$
这将适用于上面的例子。
但请小心输入15x,001
答案 1 :(得分:0)
这个怎么样:
^\$?[1-9][0-9]*(,|\.)[0-9]{1,4}$
第一个正则表达式确保价格不会从零开始。 然后允许所有数字,零个或多个数字。 然后必须有一个逗号或一个点。 最后允许所有数字,最大数量为4,最小数量为
答案 2 :(得分:0)
好的,这个对我来说似乎没问题
^[^0]\d+(\.|\,)?[0-9]{0,4}$
点击此处http://rubular.com/r/97Ra9VS9h4
如果您想检查一位数字也是另外一件事,如1,2等
然后您可以将+
替换为*
,例如^[^0]\d*(\.|\,)?[0-9]{0,4}$
答案 3 :(得分:0)
^[1-9][0-9]*([.,][0-9]{1,4})?$