请原谅我的无知。我对正则表达式的了解非常有限。
我在正则表达式验证器上有以下正则表达式。
^(\d{1,3},?(\d{3},?){0,2}\d{3}|\d{1,3})$
目前允许零。我需要更新它,以便它不允许值为0.
[编辑:只是为了澄清,我希望它排除零值而不是单数“0” - 谢谢]
非常感谢任何帮助。
由于 跳越
答案 0 :(得分:6)
你可能正在寻找这样的东西:
^[1-9]\d{0,2}(\d*|(,\d{3})*)$
答案 1 :(得分:3)
0
。将其更改为:
^(\d{1,3},?(\d{3},?){0,2}\d{3}|[1-9]\d{0,2})$
当总位数小于或等于3时,确保第一个数字不为零。
正则表达式仍允许使用000,000,000
和000,123
这样的模式来解决这个问题,您可以将正则表达式的第一部分更改为:
^([1-9]\d{0,2},?(\d{3},?){0,2}\d{3}|[1-9]\d{0,2})$
或者将其重写为
^[1-9]\d{0,2}(,?\d{3}){0,3}$
这仍允许123,456789
和123456,789
。我们将其改为:
^[1-9]\d{0,2}(?:(,\d{3}){0,3}|(\d{3}){0,3})$
这将允许123,456,789
和123456789
但不允许123,456789
或123456,789