JavaScript 测试 url 是否不包含某些文本

新手上路,请多包涵

我发现了很多检查 URL 是否包含一些文本的选项,但我正试图做相反的事情。

如果 URL 不包含“文本”,我该如何启动一个函数?

这是我开始的内容,它确实会触发该功能,但前提是 url 包含它:

 if (document.location.href.indexOf('text') > -1){
alert('URL should not have "text" in it');
    }

我尝试添加一个“!”在’(文档…‘前面有一个’NOT’,但我想不是这样。

原文由 Yevgen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 349
2 个回答
if (document.location.href.indexOf('text') === -1){
    alert('URL should not have "text" in it');
}

原文由 BastienSander 发布,翻译遵循 CC BY-SA 4.0 许可协议

最好使用 document.location.pathname.includes('text') 简单的原因它不会维护返回的索引并且将是一个简单的布尔值 true/false 如果包含在你的情况下简单: -

 if(!document.location.pathname.includes('text')){
  //You condition Code goes here
}

注意:- 您始终可以使用 /text/text/ 而不是测试您是否知道文本将出现在 URL 的中间以使其更好 othertext 在这种情况下将变为错误。

原文由 SAURABH 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题