我想创建一个正则表达式,以便它可以接受以下值: -
100, 100.00, (100),(100.00),$100, $100.00, $(100), $(100.00)
我成功构建了以下正则表达式: -
/^(\$?(?=\d*(\.\d{1,3})?$))|^(\$?\((?=\d*(\.\d{1,3})?\)$))/
但如果值只是$
,则regex会失败我想如果价值只是$那么它应该不接受它..
但同时它也应该接受空白值。
请帮帮我。
提前致谢
答案 0 :(得分:3)
似乎你的整数部分永远不是可选的,所以你应该确保正则表达式使它成为必需的(现在,即使空字符串也会通过你的正则表达式):
/^\$?(?:\d+(?:\.\d{1,3})?$|\(\d+(?:\.\d{1,3})?\)$)/
\d+
表示“一个或多个数字”。
答案 1 :(得分:0)
我改变了我的正则表达式:
^(\$?(?=\d+(\.\d{1,3})?$))|^(\$?\((?=\d+(\.\d{1,3})?\)$))|^((?=\d*(\.\d{1,3})?$))
它为我工作..