我正在尝试为以下条件创建一个javascript正则表达式
我创建了一个正则表达式^(?![0-9]|[_].*$).*
,它适用于上面的最后两个条件。请建议如何添加and
条件,使其适用于所有上述情况。
答案 0 :(得分:7)
您可以使用以下正则表达式:
^[A-Za-z]\w*$
<强>详情
^
- 字符串开头[A-Za-z]
- 任何ASCII字母\w*
- 零个或多个字母/数字/ _
$
- 字符串结束。要允许空字符串匹配,请使用可选的非捕获组包装整个模式:
^(?:[A-Za-z]\w*)?$
^^^ ^^
答案 1 :(得分:5)
答案 2 :(得分:2)
答案 3 :(得分:2)
你可能在考虑最后两个要求。如果它是字母数字(所以... a-z和0-9,对吧?)然后说“开头不允许数字或下划线”可能与“必须以字母开头”相同
^[a-z][a-z0-9_]*$
这是“必须从az开始”,然后是“必须跟随零个或多个字母,数字或下划线。字符类之外的^(例如[a-z]
是一个字符类)”意思是“开始输入“。$表示输入结束。
如果按字面解释最后两个要求,可以写:
[^0-9_]
这意味着“任何不是0-9且不是下划线的字符”,但它不一定限制用户输入除az之外的其他内容作为第一个字符,因此它们可能会输入#,它会传递..