Reputation: 647
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
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
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