aquib.qureshi
aquib.qureshi

Reputation: 647

how to restrict numbers in regex

i have a regex ^[a-zA-Z0-9]{0,14}$ which will allow only alphanumerics. but there is problem i dont want a username to be only numbers and this regex is accepting only numbers also like 56426542 so how to restrict only numbers

Upvotes: 3

Views: 3709

Answers (2)

rbernabe
rbernabe

Reputation: 1072

TIMTOWTDI

The simpliest solution is to require a username to start with a letter

^[A-Za-z][A-Za-z0-9]{0,14}

Keep in mind that {0,14} accepts empty string as a valid input

Edit The previous expression accepts 1 to 15 characters of input a little better solution is:^[A-Za-z][A-Za-z0-9]{0,13}

But Grommer solution is better

Upvotes: 1

Gromer
Gromer

Reputation: 9931

The regex you want:

^((?=.*[a-zA-Z])[a-zA-Z0-9]{0,14})$

Regex sandbox to play in with it.

This won't force you to have to start with a letter. The username can start with a letter or a number, an ensures that the username isn't only numbers.

Edit: fixed the length check. Also, you might want to change the {0,14} to {1,14}. Well, replace the first number with your minimum length requirement.

Upvotes: 3

Related Questions