【问题标题】:JS | RegEx Match URLs & return value based on matchJS |正则表达式匹配 URL 和基于匹配的返回值
【发布时间】:2017-02-17 10:46:24
【问题描述】:

我正在尝试在 URL 中搜索特定字符串,如果找到该值,我希望脚本返回页面类型。

我使用的是简单的 indexOf,但它不允许 RegEx 并且我似乎无法使用 match 使此脚本工作。

我是新手,感谢任何帮助! :)

if ((window.location.href.indexOf("/czech-job-server/") > -1) || (window.location.href.indexOf("/prague/czech/") > -1)) {
   return("Detail");
}

else if (window.location.href.indexOf("jobs") > -1) {
   return("Category");
}

else {
   return("Page Not Defined");
}

【问题讨论】:

  • 你能给我们举一个字符串输入输出的例子吗?
  • 您能否对此添加更多详细信息 - 如果您尝试使用 .match(),您是如何使用它的,发生了什么,您能显示该代码吗?另请参阅stackoverflow.com/questions/6603015/… 示例
  • 是的,我试过 match() 而不是 indexOf -> 例如window.location.href.match(job-server/g) > -1 遗憾的是,我正在通过 Google 跟踪代码管理器触发脚本,所以我没有任何其他代码可以显示。它只是返回“未定义”。

标签: javascript regex match indexof


【解决方案1】:

好吧,我没有看到使用正则表达式的模式,所以只需将单词放入正则表达式并调用 match。 Match method 返回当前字符串中的匹配数组:

var hrefString = window.location.href;

if ((hrefString.match(/czech-job-server/g).length > 0) || (hrefString.match(/prague\/czech/g).length > 0)) {

   return("Detail");
}

else if (hrefString.match(/jobs/g).length > -1) {
   return("Category");
}

else {
   return("Page Not Defined");
}

【讨论】:

  • 唷,它终于起作用了。我刚刚对您的代码进行了一些更改。谢谢 :-)。 ---- function () { if ((window.location.href.match(/czech-job-server/g).length > 0) || (hrefString.match(/prague\/czech/g).length > 0)) { return("详细信息"); } else if (window.location.href.match(/jobs/g).length > 0) { return("Category"); } else { return("页面未定义"); } }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多