URLSearchParams:has() 方法
注意:此功能在 Web Workers 中可用。
has()
方法是 URLSearchParams
接口的方法,它返回一个布尔值,指示指定的参数是否在搜索参数中。
使用参数名称和可选值来匹配参数。如果仅指定参数名称,则如果查询字符串中的任何参数与该名称匹配,则该方法将返回 true
,否则返回 false
。如果同时指定参数名称和值,则如果参数同时匹配名称和值,则该方法将返回 true
。
语法
js
has(name)
has(name, value)
参数
返回值
布尔值。
示例
检查具有指定名称的参数
此示例演示如何检查查询字符串中是否存在任何具有特定名称的参数。
js
const url = new URL("https://example.com?foo=1&bar=2&foo=3");
const params = new URLSearchParams(url.search);
// has() returns true if the parameter is in the query string
console.log(`bar?:\t${params.has("bar")}`);
console.log(`bark?:\t${params.has("bark")}`);
console.log(`foo?:\t${params.has("foo")}`);
以下日志显示参数 bar
、bark
和 foo
是否存在于查询字符串中。
bar?: true bark?: false foo?: true
检查具有指定名称和值的参数
此示例演示如何检查查询字符串中是否存在与特定名称和值都匹配的参数。
js
const url = new URL("https://example.com?foo=1&bar=2&foo=3");
const params = new URLSearchParams(url.search);
// has() returns true if a parameter with the matching name and value is in the query string
console.log(`bar=1?:\t${params.has("bar", "1")}`);
console.log(`bar=2?:\t${params.has("bar", "2")}`);
console.log(`foo=4?:\t${params.has("foo", "4")}`);
上面只有第二个值应该是 true
,因为只有名称为 bar
且值为 2
的参数匹配。
bar=1?: false bar=2?: true foo=4?: false
如果您的浏览器不支持 value
选项,则该方法将根据名称进行匹配,并且所有结果都应该是 true
。
规范
规范 |
---|
URL 标准 # dom-urlsearchparams-has |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。