我想使用正则表达式验证我的文本框。文本框的值应该是这样的 - “/word/Search” - 即正斜杠,然后是任何单词,然后再次正斜杠,然后是固定单词“Search”。
这是一个示例输入:
/admin/Search
我尝试了以下模式,但它不匹配:
[/\/][\w][/\/][\Search]
这个模式有什么问题?
最佳答案
试试这个:
\/\w+\/Search
\/
– 不需要字符类(即由[
打开并由]
关闭)来匹配斜杠。 .当你可以只匹配斜杠时(请注意,\/
假定你是 using a regex literal rather than constructing aRegExp
object :后面的/
就可以了。)\w+
– 一个或多个单词字符(同样不需要字符类)\/
– 结束斜杠(与开头相同)Search
– 您期望在结束斜杠之后的固定单词Search
(也不需要字符类)
您可以根据 regex fiddle 中提供的示例文本框输入尝试更新的模式。 .
(挑剔)警告:
您可能想要收紧单词子模式(即\w+
),因为\w
.. .
Matches any alphanumeric character including the underscore. Equivalent to [A-Za-z0-9_].
... according to MDN's JavaScript regular expressions reference 。至少要注意它匹配数字和下划线。
如果您确实想加强它,那么您就有机会参加 Angular 色类(class) - 例如:
[A-Za-z0-9]+
– 与\w+
类似,但不匹配下划线[A-Za-z]+
– 类似于\w+
,只不过它不匹配数字或下划线
关于javascript - 搜索验证正则表达式在 JavaScript 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27753394/