我有一个正则表达式来验证输入值。
此时我有:
([0-9]{0,3}[.]?)*[0-9]{1,3},[0-9]*|[0-9]
它正常工作,但现在我需要添加一个验证来查看该值是否为0,00
输入是金额值。 可能的值:
12,31
1.234,56
1.234.567,89
不可能的值:
0,00
我需要在dijit.form.ValidationTextBox中使用它。 类似的东西:
dijit.byId(nameID).regExp = "([0-9]{0,3}[.]?)*[0-9]{1,3},[0-9]*|[0-9]";
答案 0 :(得分:1)
我认为你必须完全重新考虑你的regurlar表达,因为它会测试真正的字符串,如“1.23.4,56”和“0”,但我认为这不是你想要的。
尝试这样的事情:
(?:(?:[1-9]\d{0,2})(?:\.\d{3})*(?:,\d{2})|0,(?:[1-9]\d|0[1-9]))
使用RegExr测试您的正则表达式,但请记住,Javascript不支持所有最完整的正则表达式引擎的功能。事实上,它很糟糕。
更多说明:
[.]
来匹配点。这很慢。只是逃避点:\.
\d
代替[0-9]
,也可以在方括号中使用它:[a-f\d\-]
表示所有十六进制整数字符。