Javascript 非法第一个字符的正则表达式
我有一个使用HTML5模式属性的输入字段,它只允许字母数字字符和下划线Javascript 非法第一个字符的正则表达式,javascript,regex,html,Javascript,Regex,Html,我有一个使用HTML5模式属性的输入字段,它只允许字母数字字符和下划线^[a-zA-Z0-9_]+$ 如何调整代码,使字符串不能以下划线开头,但仍允许在字符串的其余部分使用下划线 在此方面的任何帮助都将不胜感激 注意:如果我上面的解释不清楚,下面是有效/无效输入值的列表 下划线是否有效 _以下划线开始\u无效 名字有效 姓氏有效 _非法无效 使用消极的前瞻: ^(?!_)[a-zA-Z0-9_]+$ 这与您使用的正则表达式相同,只是^(?!\u)表示第一个字符不能是下划线。您也可以不将包含在第
^[a-zA-Z0-9_]+$
如何调整代码,使字符串不能以下划线开头,但仍允许在字符串的其余部分使用下划线
在此方面的任何帮助都将不胜感激
注意:如果我上面的解释不清楚,下面是有效/无效输入值的列表
是否有效
无效
有效
有效
无效
使用消极的前瞻:
^(?!_)[a-zA-Z0-9_]+$
这与您使用的正则表达式相同,只是
^(?!\u)
表示第一个字符不能是下划线。您也可以不将
包含在第一个组中
^[a-zA-Z0-9][a-zA-Z0-9_]*$
甚至:
^[^_][a-zA-Z0-9_]*$
啊,聪明。这也会起作用。谢谢你的建议@Johntiggernott注意,对于支持单字母标识符的回答,最后一个
+
应该是*
。除此之外,这还可以。第二个选项^[^.][a-zA-Z0-9.]*$
不正确。它将允许对第一个字符使用垃圾。@nhahtdh它将播下所有内容,但“不完全是trashI”意味着它将允许对第一个字符使用除“之外”的任何Unicode字符。