用于允许数字或字符以及一些特殊字符的用户名的正则表达式

时间:2013-12-12 21:41:41

标签: regex

我有以下正则表达式来验证用户名

strUsername.match(/[a-zA-Z0-9_.@]{6,100}$/g)

用户名必须至少为6,最大长度为100个数字或字符以及以下特殊字符_。@是可选的。

它适用于大多数情况,但不知何故,这个用户名user-omega32被传递,这实际上不应该。谁能告诉我为什么?

1 个答案:

答案 0 :(得分:3)

您需要使用两个锚^ and $(即行开头和行结束)

strUsername.match(/^[\w.@]{6,100}$/)

也可以使用\w代替[a-zA-Z0-9_]