使用正则表达式验证昵称

jay*_*jay 4 javascript regex

我需要验证没有@和的昵称,#并且不能以数字开头

这是我的解决方案,但@#

(^[^0-9])([\w a-z A-Z 0-9][^@#])
Run Code Online (Sandbox Code Playgroud)

。测试:

andrea //true
0andrea // false

// these are true but I need them to be false

and@rea // true
and#rea // true
Run Code Online (Sandbox Code Playgroud)

ael*_*lor 5

你的正则表达式:

^(^[^0-9])([\w a-z A-Z 0-9][^@#])$
Run Code Online (Sandbox Code Playgroud)

解释

  1. 不要以数字开头。不要以数字以外的任何东西开头。

  2. 两个字母大写/小写或数字或下划线后跟任何 ^@#

所以根据您的正则表达式,任何三个字母的单词都会匹配。

用这个:

^[^0-9]\w+$
Run Code Online (Sandbox Code Playgroud)

这适用于不包含任何特殊字符的用户名。

如果您特别不想要@ 和#。用这个 :

^[^0-9][^@#]+$
Run Code Online (Sandbox Code Playgroud)

演示在这里:https : //regex101.com/r/gV9eO0/1