Surya sasidhar
Surya sasidhar

Reputation: 30343

Regular expression to match 10-14 digits

I am using regular expressions for matching only digits, minimum 10 digits, maximum 14. I tried:

^[0-9]

Upvotes: 12

Views: 42908

Answers (4)

markt
markt

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

polygenelubricants
polygenelubricants

Reputation: 384016

^\d{10,14}$

regular-expressions.info

  • Character Classes or Character Sets

    \d is short for [0-9]

  • Limiting Repetition

    The syntax is {min,max}, where min is a positive integer number indicating the minimum number of matches, and max is an integer equal to or greater than min 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

anishMarokey
anishMarokey

Reputation: 11387

try this

@"^\d{10,14}$"

\d - matches a character that is a digit

This will help you

Upvotes: 4

paxdiablo
paxdiablo

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

Related Questions