Javascript 不以数字开头且仅允许字母数字的字符串的正则表达式
我正在尝试为以下条件创建一个javascript正则表达式Javascript 不以数字开头且仅允许字母数字的字符串的正则表达式,javascript,regex,Javascript,Regex,我正在尝试为以下条件创建一个javascript正则表达式 仅允许字母数字 但也允许下划线(389;) 不允许以数字开头 不允许以下划线开头 我已经创建了一个regex^(?![0-9]|[].$).,它将适用于上面的最后两个条件。请建议如何添加和条件以使其适用于上述所有场景。您可以使用正则表达式 ^[a-zA-Z][A-Za-z0-9_]*$ 请参见您可以使用以下正则表达式: ^[A-Za-z]\w*$ 详细信息 ^-字符串的开头 [A-Za-z]-任何ASCII字母 \w*-零个或
- 仅允许字母数字
- 但也允许下划线(389;)
- 不允许以数字开头
- 不允许以下划线开头
^(?![0-9]|[].$).
,它将适用于上面的最后两个条件。请建议如何添加和
条件以使其适用于上述所有场景。您可以使用正则表达式
^[a-zA-Z][A-Za-z0-9_]*$
请参见您可以使用以下正则表达式:
^[A-Za-z]\w*$
详细信息
-字符串的开头^
-任何ASCII字母[A-Za-z]
-零个或多个字母/数字/\w*
\u
-字符串结束$
^(?:[A-Za-z]\w*)?$
^^^ ^^
您可以使用此正则表达式:
^(?![0-9_])\w+$
(?![0-9])
是一个负前瞻,当我们有一个数字或开始时,
会导致匹配失败。您可能对最后两个要求考虑得太过严格了。如果是字母数字(那么..a-z和0-9,对吗?)那么说“不允许数字或下划线在开头”可能与“必须以字母开头”相同
这是“必须以a-z开头”,然后是“必须后跟零个或多个字母、数字或下划线”。字符类(例如[a-z]
是字符类)之外的“^”表示“输入开始”。$表示输入结束
如果您逐字解释最后两个需求,您可以写:
[^0-9_]
这意味着“任何不是0-9也不是下划线的字符”,但它不一定限制用户输入除a-z以外的其他字符作为第一个字符,因此他们可能会输入一个#,它将传递..代码[^0-9]是错误的,因为它匹配除数字和
以外的任何字符,因此匹配标点符号、符号、中文、高棉文字符等。怎么办,不能包含下划线well@CharithPrabhagya\w
匹配\u
。因此,使用^(?[A-Za-z][^\w\u]*)?$
。或者干脆使用^(?[A-Za-z][A-Za-z0-9]*)?$
[^0-9_]