检查 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