使用 JavaScript 检查 URL 是否包含字符串

Habdul Hazeez 2023年1月30日 2022年5月10日
  1. 使用 indexOf() 检查 URL 是否包含字符串
  2. 使用正则表达式检查 URL 是否包含字符串
  3. 使用 toString().includes() 检查 URL 是否包含字符串
使用 JavaScript 检查 URL 是否包含字符串

本文将教你检查 URL 是否包含字符串。我们将使用 String.prototype.indexOf()、正则表达式和 String.prototype.includes() 进行检查。

使用 indexOf() 检查 URL 是否包含字符串

当 URL 包含字符串时,你可以使用 String.prototype.indexOf() 中的 indexOf 方法检查字符串是否存在。因此,indexOf 的参数应该是你的搜索字符串。

indexOf 方法通过在 URL 中搜索该字符串的第一次出现来工作。同时,你需要在 window.location.href 上使用 indexOf,因为它包含当前网页的 URL。

在下面的代码中,我们在 window.location.href 上使用 indexOf 来检查 URL 是否包含字符串'tutorial'

代码:

if (window.location.href.indexOf("tutorial") > -1) {
  alert("The web page contains the string 'tutorial'");
}

输出:

使用 indexOf() 检查 URL 是否包含字符串

使用正则表达式检查 URL 是否包含字符串

你可以使用正则表达式模式来搜索 URL 是否包含字符串。同时,你需要 RegExp.prototype.test() 中的 test() 方法。

由于你要在 URL 中查找字符串,因此要搜索的模式应该是字符串本身。在下面的代码中,我们使用了 test() 方法来匹配 DelftStack 网站上的字符串 'html'

代码:

if (/html/.test(window.location.href)) {
  alert("The web page contains the string 'html'");
}

输出:

使用正则表达式检查 URL 是否包含字符串

使用 toString().includes() 检查 URL 是否包含字符串

toString()includes() 方法的组合可以确定 URL 是否包含字符串。toString() 返回对象的字符串版本。

因此,我们将需要它,因为我们将从 window.location 获取 URL,它是一个对象。由于我们已经有了 window.location 的字符串版本,我们可以使用 includes() 方法来确定它是否包含字符串。

但是,includes() 方法执行区分大小写的搜索,搜索 hello 将不匹配 Hello。在下一个代码块中,我们使用了 includes 方法和 toString 来确定 URL 是否包含字符串 "google"

代码:

if (window.location.toString().includes("google")) {
  alert("There is 'google' in the URL");
}

输出:

使用 String.prototype.includes() 检查 URL 是否包含字符串

Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

相关文章 - JavaScript String