I'm somewhat new to regular expressions and am writing validation for a quantity field where regular expressions need to be used.
How can I match all numbers greater than or equal to 50?
I tried
[5-9][0-9]+
but that only matches 50-99. Is there a simple way to match all possible numbers greater than 49? (only integers are used)
This question is related to
javascript
regex
I know there is already a good answer posted, but it won't allow leading zeros. And I don't have enough reputation to leave a comment, so... Here's my solution allowing leading zeros:
First I match the numbers 50 through 99 (with possible leading zeros):
0*[5-9]\d
Then match numbers of 100 and above (also with leading zeros):
0*[1-9]\d{2,}
Add them together with an "or" and wrap it up to match the whole sentence:
^0*([1-9]\d{2,}|[5-9]\d)$
That's it!
I know this is old, but none of these expressions worked for me (maybe it's because I'm on PHP). The following expression worked fine to validate that a number is higher than 49:
/([5-9][0-9])|([1-9]\d{3}\d*)/
Try a conditional group matching 50-99
or any string of three or more digits:
var r = /^(?:[5-9]\d|\d{3,})$/
Next matches all greater or equal to 11100
:
^([1-9][1-9][1-9]\d{2}\d*|[1-9][2-9]\d{3}\d*|[2-9]\d{4}\d*|\d{6}\d*)$
^([5-9]\d{1}\d*|\d{3}\d*)$
See pattern and modify to any number. Also it would be great to find some recursive forward/backward operators for large numbers.
Try this regex:
[5-9]\d+|\d{3,}
Source: Stackoverflow.com