Rajnikanth Rajnikanth - 1 month ago 5
Javascript Question

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.

Answer

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)?$