【问题标题】:Check if URL contains text and brackets检查 URL 是否包含文本和括号
【发布时间】:2016-10-05 10:23:48
【问题描述】:

我想查看我当前的网址,例如:

http://www.dummy.com/subpageone/pagetwo.html?ineedthis[andthis]&butnotthis

如果我得到的是 ineedthis[andthis],我想要一个 alert

到现在为止

if (window.location.href.indexOf("ineedthis") > -1) {
    alert("your url contains it");
}

但这还不够。如何查看[andthis]?我已经尝试了一些变化,但完全没有运气。

indexOf("ineedthis\[andthis\]")
indexOf("ineedthis%5andthis%5D")
if (/ineedthis\[andthis\]/.test(window.location.href))

感谢您的任何建议。

【问题讨论】:

  • indexOf("ineedthis[andthis]") 对我来说很好 - 在您提供的示例 URL 中返回索引 45。此外,无需转义方括号。
  • 可能是您使用window.location.href 编码的网址。在比较之前先尝试解码。

标签: javascript url contains square-bracket


【解决方案1】:

简单使用:

if(window.location.href.indexOf("ineedthis[andthis]") > -1) {
    alert("your url contains it");
}

因为 indexOf 的 searchValue 是字符串而不是正则表达式。

【讨论】:

    【解决方案2】:

    你也可以使用正则表达式来做同样的事情:

    (function(){
    
    var pattern = new RegExp(/ineedthis\[andthis\]/);
    alert(pattern.test('ineedthis[andthis]'));
    
    }());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-15
      • 2012-05-02
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多