检查 URL 是否有 JavaScript 中的查询参数

检查 URL 是否有查询参数

Check if a URL has Query Parameters in JavaScript

要检查 url 是否具有查询参数,请includes()在字符串上调用该方法,将问号作为参数传递给它,例如str.includes('?'). 如果 url 包含查询参数,该includes方法将返回true,否则false返回。

索引.js
const url = 'https://example.com?page=10&limit=5'; function hasQueryParams(url) { return url.includes('?'); } // 👇️ true console.log(hasQueryParams('https://example.com?page=10&limit=5')); // 👇️ false console.log(hasQueryParams('https://example.com'));

我们创建了一个可重用的函数,它接受一个 URL 字符串并检查它是否包含查询参数。

String.includes方法允许我们检查字符串中

是否包含子字符串。

如果字符串包含问号,则它具有查询参数。

includes方法返回一个布尔结果:

  • true如果子字符串包含在字符串中
  • false如果不是

另一种方法是使用该indexOf()方法。

使用 indexOf 检查 URL 是否有查询参数

要检查 url 是否具有查询参数,请在indexOf()url 上调用该方法,将其传递给一个问号,然后检查结果是否不等于-1,例如url.indexOf('?') !== -1如果字符串不包含查询参数,indexOf方法将返回。-1

索引.js
const url = 'https://example.com?page=10&limit=5'; function hasQueryParams(url) { return url.indexOf('?') !== -1; } // 👇️ true console.log(hasQueryParams('https://example.com?page=10&limit=5')); // 👇️ false console.log(hasQueryParams('https://example.com'));

String.indexOf方法允许我们

检查字符串是否包含问号。

该方法返回所提供子字符串第一次出现的索引,或者-1如果子字符串不包含在字符串中。

我们使用严格相等 (===) 运算符来检查indexOf方法是否不返回-1

您选择哪种方法是个人喜好的问题。我会选择这种方法,因为它更直接、更直观。 includes