0

我有一个正则表达式来验证输入值。

在这一点上,我有:

([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]";
4

1 回答 1

1

我认为你必须完全重新考虑你的正则表达式,因为它测试真正的字符串,如“1.23.4,56”和“0”,但我认为这不是你想要的。

尝试这样的事情:

(?:(?:[1-9]\d{0,2})(?:\.\d{3})*(?:,\d{2})|0,(?:[1-9]\d|0[1-9]))

使用RegExr测试您的正则表达式,但请记住,Javascript 不支持最完整的正则表达式引擎的所有功能。事实上,它很穷。

还有一些注意事项:

  1. 不要使用标记[.]来匹配点。它很慢。只需避开点:\.
  2. 您可以使用\d而不是[0-9]简称,也可以在方括号中使用它:[a-f\d\-]用于所有十六进制整数字符。
于 2012-07-04T16:33:31.340 回答