Reputation: 30343
I am using regular expressions for matching only digits, minimum 10 digits, maximum 14. I tried:
^[0-9]
Upvotes: 12
Views: 42908
Reputation: 5156
If I understand your question correctly, this should work:
\d{10,14}
Note:
As noted in the other answer.. ^\d{10,14}$
to match the entire input
Upvotes: 1
Reputation: 384016
^\d{10,14}$
Character Classes or Character Sets
\d
is short for[0-9]
The syntax is
{min,max}
, wheremin
is a positive integer number indicating the minimum number of matches, andmax
is an integer equal to or greater thanmin
indicating the maximum number of matches.
The limited repetition syntax also allows these:
^\d{10,}$ // match at least 10 digits
^\d{13}$ // match exactly 13 digits
Upvotes: 7
Reputation: 11387
try this
@"^\d{10,14}$"
\d - matches a character that is a digit
This will help you
Upvotes: 4
Reputation: 882756
I'd give:
^\d{10,14}$
a shot.
I also like to offer extra solutions for RE engines that don't support all that PCRE stuff so, in a pinch, you could use:
^[0-9]{10,14}$
If you're RE engine is so primitive that it doesn't even allow specific repetitions, you'd have to revert to either some ugly hack like fully specifying the number of digits with alternate REs for 10 to 14 or, easier, just checking for:
^[0-9]*$
and ensuring the length was between 10 and 14.
But that won't be needed for this case (ASP.NET).
Upvotes: 20