RegEx字符串与.NET兼容货币

时间:2015-05-17 09:31:33

标签: javascript regex zurb-foundation-5

到目前为止,我已经看到了一些关于正则表达式的问题,有些问题非常有帮助,但是我在获取需要的结果时遇到了一些麻烦......

帮助我学到很多东西的其中一个问题是:Regular expression to match numbers with or without commas and decimals in text

上述问题中隐含的表达是:

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

它将允许以下内容:

100,000
999.999
90.0009
1,000,023.999
0.111
.111
0

......而不喜欢:

1,1,1.111
000,001.111
999.
0.
111.110000
1.1.1.111
9.909,888

现在没关系,但我不想允许:

0.111
.111
0

我不想允许超过2位小数,因此不接受100.333,而100.33通过就好了。我也不希望任何以0开头的东西都通过。

这是我第一次处理正则表达式,我理解stackoverflow在问我看过这个问题时给了我一些建议,但我现在真的不明白 - 如果你能帮我理解它是什么的我需要改变,为什么,我真的很感激。

1 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

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

\d*[0-9]更改为\d{0,2}