正则表达式的字符串,不以数字开头,只允许使用字母数字

Pra*_*obh 2 javascript regex

我正在尝试为以下条件创建一个javascript正则表达式

  • 仅允许使用字母数字
  • 但也允许下划线(_)
  • 不允许以数字开头
  • 不允许以下划线开头

我创建了一个正则表达式^(?![0-9]|[_].*$).*,它将适用于上面的最后两个条件.请建议我如何添加and条件以使其适用于所有上述方案.

Wik*_*żew 7

您可以使用以下正则表达式:

^[A-Za-z]\w*$
Run Code Online (Sandbox Code Playgroud)

细节

  • ^ - 字符串的开头
  • [A-Za-z] - 任何ASCII字母
  • \w* - 零个或多个字母/数字/_
  • $ - 字符串结尾.

要允许空字符串匹配,请使用可选的非捕获组包装整个模式:

^(?:[A-Za-z]\w*)?$
 ^^^           ^^
Run Code Online (Sandbox Code Playgroud)


mar*_*308 6

你可以使用正则表达式

^[a-zA-Z][A-Za-z0-9_]*$
Run Code Online (Sandbox Code Playgroud)

请参阅regex101 演示


anu*_*ava 5

你可以使用这个正则表达式:

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

RegEx演示

(?![0-9_])当我们有一个数字或_在开始时,是负面预测以使比赛失败.