Please help me make regular expression for positive decimal number with 0, 1 or 2 decimal places. It must allow comma and dot.
For example it must allow:
0,01
0.01
0,1
1
1.1
1,11
but not allow:
-1
0.0
0,00
.01
0
1,111
1.111
I have this
/(^\d*(?:\.|\,)?\d*[1-9]+\d*$)|(^[1-9]+\d*(?:\.|\,)\d*$)/
but I can`t find how to disallow more than 2 decimal places.
UPDATE
I must reject 0.0, 0 and etc.
Edit 2: now disallows exactly 0,0.0, etc.
This matches at least one digit before the decimal place, followed by an optional decimal place, followed by 0-2 digits.
The negative lookahead looks for any flavor of absolute zero and prevents a match.
This is the raw regex, so you’ll need to escape it appropriately for your language. (For example, in some languages you need to double the
\slashes as\\.