我有一个接受付款和金额的正则表达式。允许格式为“$”“,”和两个小数空格。我需要这个正则表达式允许小数位后面的尾随空格,如'$50.00 '
/^\$?[0-9 ][0-9\, ]*(\.\d{1,2})?$|^\$?[\.]([\d][\d])$/
思想?
答案 0 :(得分:1)
\s*
将捕获any whitespace,包括标签和换行符:
/^\$?[0-9 ][0-9\, ]*(\.\d{1,2})?$|^\$?[\.]([\d][\d])\s*$/
如果你只是想验证美元价值,我会让它变得更简单一点(虽然我不知道你确切的用例):
/^\$?[0-9,]+(\.\d{2})?\s*$/
答案 1 :(得分:0)
只需在末尾添加[ ]*
即可:
/^\$?[0-9 ][0-9\, ]*(\.\d{1,2})?[ ]*$|^\$?[\.]([\d][\d])[ ]*$/
但是您可以通过将替代品包装在一个组中来简化这一过程。另请注意,您不需要在字符类中转义,
或.
,如果只有要匹配的字符,则根本不需要字符类。
/^\$?(?:[0-9 ][0-9, ]*(\.\d{1,2})?|\.([\d][\d]))[ ]*$/