Javascript 如何为window.location.pathname实现通配符

Javascript 如何为window.location.pathname实现通配符,javascript,html,url,window.location,Javascript,Html,Url,Window.location,我有下面的代码,我想让函数在任何包含“blog”的URL上工作,而不是在特定的URL上工作。请帮助我正确的语法,谢谢 window.setTimeout(function() { if (window.location.pathname != '/home/legal-documentation' && window.location.pathname != '/home/blog/australian-business-news' ) { erOpenL

我有下面的代码,我想让函数在任何包含“blog”的URL上工作,而不是在特定的URL上工作。请帮助我正确的语法,谢谢

window.setTimeout(function() {
  if (window.location.pathname != '/home/legal-documentation' &&
    window.location.pathname != '/home/blog/australian-business-news'
  ) {
    erOpenLoginRegisterbox(jQuery);
  }
  return false;
}, 1000);

你要找的是一份工作。这些用于匹配特定的字符组合,在您的情况下,您可以使用
String.prototype.match()
,以便使用以下正则表达式查找包含单词“blog”的字符串:

/blog/gi
或者,在您的功能中:

window.setTimeout(function() {
    if (window.location.pathname.match(/blog/gi)) {
        erOpenLoginRegisterbox(jQuery);
    }
    return false;
}, 1000);

我认为您正在寻找
indexOf
:如果没有找到传递的字符串,它将返回-1,因此测试-1似乎与您的方法相关。此外,为了安全起见,如果您还想以不区分大小写的方式排除blog(换句话说,您想测试blog、blog、blog等),我引用路径名时将其视为大写(),然后将其与“blog”进行比较

window.setTimeout(function() {
    if (window.location.pathname.toUpperCase().indexOf('BLOG') === -1) {
        erOpenLoginRegisterbox(jQuery);
    }
    return false;
}, 1000);

反馈:不管是对是错,问题的措辞在堆栈溢出上都很重要。“请用正确的语法帮助我”给我的印象是一个未经研究的免费工作请求。如果你想从这个平台中获得最好的效果,展示你已经尝试过的东西,以及你在这个平台上遇到的具体问题……在某个时候,每种情况都会有一部XKCD漫画