javascript - 搜索验证正则表达式在 JavaScript 中不起作用

标签 javascript regex validation

我想使用正则表达式验证我的文本框。文本框的值应该是这样的 - “/word/Search” - 即正斜杠,然后是任何单词,然后再次正斜杠,然后是固定单词“Search”。

这是一个示例输入:

/admin/Search

我尝试了以下模式,但它不匹配:

[/\/][\w][/\/][\Search]

这个模式有什么问题?

最佳答案

试试这个:

\/\w+\/Search
  • \/ – 不需要字符类(即由 [ 打开并由 ] 关闭)来匹配斜杠。 .当你可以只匹配斜杠时(请注意, \/ 假定你是 using a regex literal rather than constructing a RegExp 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/

相关文章:

regex - 替换括号内的字符

php - 替换重复字符正则表达式

javascript - Angular 中的分隔符

php - 如何将多个表单验证请求链接在一起?

javascript - 将所有文本框对齐在同一垂直位置

javascript - Jquery/Javascript - 构建选择菜单的最有效方法?

javascript - 将参数从按钮单击传递到 Jquery 事件处理程序

Linux 的 Javascript 解释器

java - Apache Wicket 口 : how to update model after validation error

javascript - 如何访问拖动的文本(或 : How Does Dragging Text into an Input "Work"? )