I have tried the following to only allow integers in my text box, this works great but it allows a zero in there. Is there anything else I can add to prevent a zero being added?
\d+
I have tried the following to only allow integers in my text box, this works great but it allows a zero in there. Is there anything else I can add to prevent a zero being added?
\d+
Code:
Example: http://regexr.com/3annd
Tested with:
A minor variation is this:
That would allow leading zeros.
This will allow 10 but not 01, and it will allow only numbers consisting of digits, i.e., no periods or minus signs...but also no plus signs, scientific notation etc.
matches with: from 001 to 999 example 001 099 999
does not match 000 01 0
If you are not concerned about negatives and silly numbers like
07
, this will do:For a more robust solution, I suggest converting the matched string to integer and check if it fulfills your criteria.
This will allow "silly" numbers like 007 as well, but not 0 or 000 or an empty string.
Note that
\d
matches also digits from other character sets like٠١٢٣٤٥٦٧٨٩
. See: \d is less efficient than [0-9].^
denotes the start,$
the end of the string. Together they ensure that the whole string is matched.