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

时间:2018-07-01 20:45:17

标签: javascript html url window.location

我有以下代码,我想使该函数在包含“博客”的任何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);

2 个答案:

答案 0 :(得分:1)

您要寻找的是Regular Expression。这些用于匹配字符的特定组合,在这种情况下,您可以使用String.prototype.match()来使用此RegEx查找包含单词“ blog”的字符串:

/blog/gi

或者,在您的函数中:

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

答案 1 :(得分:0)

我认为您正在寻找export class MyComponent implements AfterViewInit { private control: FormControl; constructor( private injector: Injector, ) { } // The form control is only set after initialization ngAfterViewInit(): void { const ngControl: NgControl = this.injector.get(NgControl, null); if (ngControl) { this.control = ngControl.control as FormControl; } else { // Component is missing form control binding } } }https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf如果 not 找不到要传递的字符串,它将返回-1,因此测试-1似乎可以与您的方法相关。此外,为了安全起见,如果您还希望以不区分大小写的方式排除博客(换句话说,您要测试Blog,博客,BLOG等),则我将路径名称为是大写(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase),然后将其与“ BLOG”进行比较

indexOf