我有以下正则表达式来验证用户名
strUsername.match(/[a-zA-Z0-9_.@]{6,100}$/g)
用户名必须至少为6,最大长度为100个数字或字符以及以下特殊字符_。@是可选的。
它适用于大多数情况,但不知何故,这个用户名user-omega32被传递,这实际上不应该。谁能告诉我为什么?
答案 0 :(得分:3)
您需要使用两个锚^ and $
(即行开头和行结束)
strUsername.match(/^[\w.@]{6,100}$/)
也可以使用\w
代替[a-zA-Z0-9_]