2017-05-05 52 views
2
  1. 用户名中的唯一数字必须位于最后。最后可能有零个或更多。使用正则表达式验证用户名

  2. 用户名字母可以是小写字母和大写字母。

  3. 用户名必须至少有两个字符长。双字母用户名只能使用字母表字母。

我正在尝试这个,但我停滞了。 /\d+$\w+/gi

+1

的可能的复制[正则表达式来验证用户名](http://stackoverflow.com/questions/12018245/regular-expression-to-validate-username) – Kzqai

+0

@Kzqai不符合OP的要求。 –

+0

从经验说起,不要使用用户名,只需使用电子邮件和显示名称(他们可以随意放置任何内容)。没有人想维护另一个网站的另一个用户名。 此外,使用用户名,你最终不得不单独报告每个验证失败(用户名太长,用户名需要大写,等等等等等等)。只是“用户名无效”是一个糟糕的用户体验。是什么使它无效?跳过它,使用电子邮件。 – Kzqai

回答

3

/^[a-z]{2,}\d*$/i是:具有字符和数字,分2个字符长

^  : the begining 
[a-z] : a character (a to z), you can add as many allowed characters as you want 
{2,} : at least 2 of them 
\d* : 0 or more digits 
$  : the end 
i  : ignore case sensetivity (both lowercases and uppercases are allowed) 
+1

这工作!了解了{2,} –

+0

然后,您应该将此标记为正确。 –

2

用户名

/^[a-zA-Z]{2,}\d*$/i 

测试结果:

UserNam9 = pass 
9username = fail 
Userna99 = pass 
usernameeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee = pass 
Us = pass 
U = fail 
+0

这个正则表达式是错误的,它有几个问题。首先,用这种方法你也可以在开始时使用数字。 然后,如果您指定a-zA-Z,那么它就没用了。如果您只使用a-z,这是有道理的。 此外,你也可以只接受两个数字。 – quirimmo

+0

什么?你说得对,'[a-zA-Z]'是不必要的,没有错,但是没有必要。但其余的是正确的... –

0
/^[A-z]{2,}[A-z0-9]{0,}$/ 
/^ // start of line 
[A-z]{2,} //alphabet characters 2 or more 
[A-z0-9]{0,} //numbers and alphabet 
$/ // end of line