0

我有一个接受以下付款和金额的正则表达式。允许带有 "$" "," 和两个小数空格的格式。我需要这个正则表达式来允许小数点后的尾随空格,像这样'$50.00 '

/^\$?[0-9 ][0-9\, ]*(\.\d{1,2})?$|^\$?[\.]([\d][\d])$/

想法?

4

2 回答 2

1

\s*将捕获任何空格,包括制表符和换行符:

/^\$?[0-9 ][0-9\, ]*(\.\d{1,2})?$|^\$?[\.]([\d][\d])\s*$/

如果您只是想验证美元价值,我会让它更简单一些(尽管我不知道您的确切用例):

/^\$?[0-9,]+(\.\d{2})?\s*$/
于 2013-10-04T15:02:46.280 回答
0

[ ]*只需在末尾添加 a就可以了:

/^\$?[0-9 ][0-9\, ]*(\.\d{1,2})?[ ]*$|^\$?[\.]([\d][\d])[ ]*$/

但是您可以通过将您的备选方案包装在一个组中来简化这一点。另请注意,您不需要转义,.在字符类中,如果只有您想要匹配的字符,则根本不需要字符类。

/^\$?(?:[0-9 ][0-9, ]*(\.\d{1,2})?|\.([\d][\d]))[ ]*$/
于 2013-10-04T15:03:37.797 回答