正则表达式以验证用户名

时间:2015-10-19 08:59:42

标签: regex

我必须验证用户名,要求如下:

  • 长度至少为8,最大为20
  • 必须包含字母(a-z),不包含大写字母
  • 可以包含符号点(。),连字符( - )或下划线(_),其他符号被禁止

有人知道这个的正则表达式吗?

1 个答案:

答案 0 :(得分:3)

由于你没有表现出太多的努力试图解决这个问题,我也不会这样做。但是,为了给你一个开头,我将为你提供一个正则表达式,它将帮助你构建你想要的正则表达式:

[a-z\.\-\_]{8,20}

在这里你可以看到:
[ ] - 一个字符类:其中的任何字符都可以匹配
{ } - 量词:长度在8到20个字符之间 a-z - 范围从az的所有字符 \. - 匹配文字点
\- - 匹配文字连字符
_ - 匹配文字下划线

但是,这个正则表达式是错误的:例如,也接受由8个(或更多)点组成的用户名:.........,只有符号的组合,没有字母:-_-__-_._-。我相信这不是预期的行为。

您可以在此处查看演示:regex101.com