正则表达式 - 没有特殊字符

时间:2011-07-25 10:33:32

标签: regex special-characters username alphanumeric

我正在使用正则表达式来验证用户名

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

不幸的是,如果该值包含!@#$%^&*)(':;

等特殊字符,则不会影响该值

我很乐意为Regex提供一些包含以下内容的帮助:

  • 仅限字母数字(a-zA-Z0-9
  • 长度在4到10个字符之间。

2 个答案:

答案 0 :(得分:28)

您指定的条件不符合您发布的正则表达式。

你发布的^[a-zA-Z]+\.[a-zA-Z]{4,10}^的正则表达式是错误的,因为最后^它永远不会匹配任何表达式,如果你想匹配使用表达式末尾的^,您需要像\^一样对其进行转义。但^单独表示“这是表达式的开头”,而$表示“这是表达式的结尾”。

尽管如此,它表示:

  • 以alpha(至少1)开头。
  • 必须有'。'期间角色。
  • 现在必须至少有4个alpha。

你需要的正则表达式是:

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

这说:

  • 以字母数字开头。
  • 最少可以有4个,最多可以有10个字母数字。
  • 结束表达。

答案 1 :(得分:5)

试试这个:

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