需要更改正则表达式以接受尾随空格

时间:2013-10-04 15:00:42

标签: javascript regex

我有一个接受付款和金额的正则表达式。允许格式为“$”“,”和两个小数空格。我需要这个正则表达式允许小数位后面的尾随空格,如'$50.00 '

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

思想?

2 个答案:

答案 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]))[ ]*$/