18

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

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

不幸的是,它不会影响该值是否包含特殊字符,例如!@#$%^&*)(':;

我很乐意为 Regex 获得一些帮助,其中包含:

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

2 回答 2

49

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

^[a-zA-Z]+\.[a-zA-Z]{4,10}^我猜你发布的正则表达式是错误的,因为^最后它永远不会匹配任何表达式,如果你想匹配^表达式末尾的,你需要像这样转义它\^。但^单独的意思是“这里是表达式的开始”,而$意味着“这里是表达式的结尾”。

尽管,它表示:

  • 它以 alpha 开头(至少为 1)。
  • 必须有一个“。” 句号。
  • 现在必须至少有 4 个 alpha。

您需要的正则表达式实际上是:

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

这说:

  • 它以字母数字开头。
  • 字母数字最少可以有 4 个,最多可以有 10 个。
  • 表达结束。
于 2011-07-25T10:45:04.073 回答
6

尝试这个:

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

于 2011-07-25T10:37:11.597 回答