【发布时间】:2013-03-26 15:37:58
【问题描述】:
我发现了很多很好的货币正则表达式,它们非常接近我的需要。唉,我不是正则表达式专家,似乎无法编辑我当前的正则表达式以满足要求。
我需要将有效输入限制为“xxx,xxx.xx”的格式。允许的最大金额需要为“999,999.99”,逗号可选。直到现在我一直在使用这个正则表达式:
^([0-9]{1,3}(,[0-9]{3})*|([0-9]+))(.[0-9]{2})?$
除了无法将上限设为“999,999.99”外,它一直运行良好。感谢您的帮助!
更新
我一直在修修补补,我设法想出了这个:
/^(?:([0-9]{3}?,?)?[0-9]{3}(?:\.[0-9]?[0-9]?)?)$/
仍在测试,看看它是否有效。 RegexPlanet 没有通过我尝试的任何字符串传递它,但我将通过我的应用程序并手动测试。
【问题讨论】:
-
最低金额是多少?
000,000,00或0,0,00,或者别的什么? -
@Pshemo 我认为最低金额是
0.00,这只是|部分的猜测 -
最小数量为 0。没有要求将
0的值格式化为0.00 -
前面提到的表格也可以接受吗?
-
我不明白为什么会这样