用户名的正则表达式以字母开头,以字母或数字结尾

时间:2012-07-11 10:57:03

标签: regex

我想创建一个检查有效用户名的函数,但我很困惑这个检查所需的正则表达式是什么?

用户名可以[a-zA-Z0-9-_.]

但用户名必须以字母开头 - > [a-zA-Z]

用户名结束字符可能不是特殊字符,只是字母或数字

用户名可以有无限的点或破折号或下划线,但不能按顺序排列(它们必须用字母或数字分隔)

例如,这是有效的用户名:

----------
e.r.m.y.a
ermya2
erm.y-a.2
erric.nelson
eric_nelson
eric-nelson
e-r-i-c_n-e.s.o-n
--------------

和无效的用户名是:

2ermya
erm..ya
er__mya
er--mya
er-_ya
er._-ya
er.-ya
ermya_
ermya.
ermya-
erm.-_ya
or much much more 

1 个答案:

答案 0 :(得分:4)

我认为

^[a-zA-Z]([._-]?[a-zA-Z0-9]+)*$

可能会成功。 现在它的工作