验证用户名 - 最佳正则表达式

时间:2016-09-14 12:57:33

标签: javascript jquery regex validation

我从谷歌

中看到了这个用户名指南
  • 用户名可以包含字母(a-z),数字(0-9),短划线( - ),下划线(_),撇号(')和句点(。)。
  • 用户名不能包含符号(&),等号(=),括号(<,>),加号(+),逗号(,)或多个句点(。)in一排。
  • 用户名可以以非字母数字字符开头或结尾,最多64个字符。

https://support.google.com/a/answer/33386?hl=en)。

当我尝试使用jQuery验证为我的应用验证用户名时。除了检测两个时期外,我还要成功实现其他目标。以下是我使用的正则表达式。

/^[a-z0-9_.-]+$/i

我如何修改它以实现这些要求。或者除了使用单个正则表达式之外还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

尝试

/^(?!.*\.\.)[\w.-]{6,64}$/

6是我的一些改进,假设您需要最小的用户名长度;)

它使用负面的looka-head来确保没有两个连续的.,然后匹配6-64个允许的字符(\w匹配az,AZ,0-9和_)

Check it out here at regex101