1

我想创建一个正则表达式,以便它可以接受以下值:-

100, 100.00, (100),(100.00),$100, $100.00, $(100), $(100.00)

我成功地构建了以下正则表达式:-

/^(\$?(?=\d*(\.\d{1,3})?$))|^(\$?\((?=\d*(\.\d{1,3})?\)$))/

但如果值只是 $,上面的正则表达式会失败

我想如果价值只是 $ 那么它应该不接受它..

但同时它也应该接受空白值..

请帮我。

提前致谢

4

2 回答 2

3

看起来你的整数部分从来都不是可选的,所以你应该确保正则表达式使它成为强制性的(现在,即使是空字符串也会通过你的正则表达式):

/^\$?(?:\d+(?:\.\d{1,3})?$|\(\d+(?:\.\d{1,3})?\)$)/

\d+意思是“一个或多个数字”。

于 2012-10-11T12:37:01.333 回答
0

我将我的正则表达式更改为:

^(\$?(?=\d+(\.\d{1,3})?$))|^(\$?\((?=\d+(\.\d{1,3})?\)$))|^((?=\d*(\.\d{1,3})?$))

它为我工作..

于 2012-10-11T12:55:56.410 回答