Regex - Without Special Characters

user330885 picture user330885 · Jul 25, 2011 · Viewed 90.1k times · Source

I'm using regex to validate username

^[a-zA-Z]+\.[a-zA-Z]{4,10}^'

Unfortunately it doesn't affect if the the value contains special characters such as !@#$%^&*)(':;

I would glad to get some help for Regex that contains:

  • Alphanumeric only (a-zA-Z0-9)
  • Length between 4 - 10 characters.

Answer

Ken D picture Ken D · Jul 25, 2011

The conditions you specified do not conform to the regexp you posted.

the regexp you posted ^[a-zA-Z]+\.[a-zA-Z]{4,10}^ is erroneous I guess, because of the ^ in the end, it will never be matched to any expression, if you want to match with the ^ at the end of the expression, you need to escape it like this \^. but ^ alone means "here is the start of the expression", while $ means "here is the end of the expression".

Even though, it denotes:

  • It starts with alpha (at least 1).
  • there must be a '.' period character.
  • Now there must be at least 4 alphas.

The regexp you need is really is:

^[a-zA-Z0-9]{4,10}$

This says:

  • It starts with alphanumeric.
  • There can be minimum of 4 and maximum of 10 of alphanumeric.
  • End of expression.