货币格式的Javascript正则表达式

时间:2013-06-20 04:38:04

标签: javascript regex validation

我有这个正则表达式/^\d(\d|\,\d{3}|,\d.+$)*$/

使用我的样本数据:

100.00 - Not working :(
1,000.00 - Working
100,000.00 - Working
1,000,000.00 - Working

注意:如果结果 0.00

,我需要提供错误

有任何想法或建议吗?感谢。

3 个答案:

答案 0 :(得分:16)

您可以使用:

^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$

了解它是如何运作的here

此外,如果你想禁止前导零,正则表达式将是:

^(?!0\.00)[1-9]\d{0,2}(,\d{3})*(\.\d\d)?$

答案 1 :(得分:0)

您可以使用:

^\$?(?!0.00)(([0-9]{1,3},([0-9]{3},)*)[0-9]{3}|[0-9]{1,3})(\.[0-9]{2})?$

会检查

100.00 - 是的

1,000.00 - 是的

100,000.00 - 是的

1,000,000.00 - 是的

0.00 - 没有

答案 2 :(得分:0)

符号版

^([^\d\s]{1,}\s?[+-]?)(\d{1,3})(\,\d{3})*(\.\d{1,})?$

将检查

  • 100 - 否
  • 1,000.00 - 否
  • &安培; -100,000.00 - 是
  • ¥-1,000,000.00 - 是
  • €1.000 - 是
  • €100,000,00.7 - 否
  • $ 0.00 - 是
  • R $ 1,000.00 - 是