正则表达式模式匹配用户名要求

时间:2016-03-28 17:55:50

标签: regex

有人可以请我提供符合这些要求的正则表达式吗?

  • 3到20个字符
  • 以字母开头
  • 不能在一段时间内结束(。)
  • 可以包含:a-z,0-9,句点(。),连字符( - ),下划线(_)

我是正则表达式的新手。我试过^[[:alpha:]][[:alnum:]_.-]+$,由某人给我,我开始用[a-z,A-Z,.]{3,20}[0-9]*

做我自己的

我将在JavaScript中使用它,但到目前为止我只是在regexr.com上测试,因为它很方便。

1 个答案:

答案 0 :(得分:1)

您可以使用^作为模式。一点点细分:

  • [a-z]是字符串开头的anchor,因为我们要检查整个字符串
  • 由于i - character class
  • [\w.-]{1,18}是一个Modifier匹配的字母a-z,小写和大写字母。这用于以字母开头条件
  • \w是一个匹配字母,数字,下划线(= [\w-]),点和连字符的字符类。它重复一到十八次以适合 3到20个字符(开头和结尾+2个字符)
  • $基本上是相同的字符类,但没有点,以使不能在句点中结束(。)
  • <input type="text" id="usernamelogin" name="usernamelogin" value="<?php echo $username; ?>" /> 是字符串结尾的锚点