I want to validate my currency field with regex. I want to allow the following pattern entries
1.23
1
.45
0.56
56.00
No comma should be allowed. I've tried \d+(\.\d\d)
but it allows only first, fourth and fifth entries. \d+(?:\.\d\d+)?
allows all but third one.
Use \d*
instead of \d+
before the decimal to match zero or more digits. Also add anchors (^
and $
) or else it will pass as long as there is any match available. This would also validate an empty string, so if necessary you can use a lookahead to make sure there is at least one digit:
^(?=.*\d)\d*(?:\.\d\d)?$
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With