简体   繁体   中英

Javascript regular expression for currency format

I have this regular expression /^\\d(\\d|\\,\\d{3}|,\\d.+$)*$/

With my sample data:

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

Note: I need to give error if result is 0.00

Any ideas or suggestions? Thanks.

You could perhaps use:

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

See how it's working here .

Additionally, if you'd like to forbid leading zeros the regex would be:

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

You can use:

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

It will check

100.00 - yes

1,000.00 - yes

100,000.00 - yes

1,000,000.00 - yes

0.00 - no

A symbol version

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

Will check

  • 100 - NO
  • 1,000.00 - NO
  • & -100,000.00 - YES
  • ¥ -1,000,000.00 - YES
  • € 1.000 - YES
  • € 100,000,00.7 - NO
  • $ 0.00 - YES
  • R$ 1,000.00 - YES

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM