A set of regular expressions that helps you validate and parse Money/Currency/Price values.
Currency amount with optional thousands separators, negative numbers, and two-digit fraction:
/^-?\d+(,\d{3})*(\.\d{1,2})?$/
Matches:
- 100
- -0.99
- 12,345,678.90
Currency amount (no thousands separators, must be positive, two-digit fraction):
/(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0)$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/
Matches:
- 100
- 0.99
- 1234567890
Validate US dollars, including zero dollars.
^(\$)?(([1-9]\d{0,2}(\,\d{3})*)|([1-9]\d*)|(0))(\.\d{2})?$
Matches:
- $1,234,567.89
- 1234567.89
- $0.00
See Also:
- Decimal Number Regular Expression
- Regex To Match Dollar ($) And Comma (,) In String
- Regex To Match Numbers Containing Only Digits, Commas, and Dots