希望用JavaScript查询URL中的参数,若存在参数则更新参数值,若不存在则拼接参数和参数值到URL上
时间: 2023-11-28 18:03:46 浏览: 60
使用JavaScript获取URL中的参数(两种方法)
你可以使用 JavaScript 中的 URLSearchParams 对象来查询和修改 URL 中的参数。下面是一个示例代码,可以实现你的需求:
```javascript
function updateURLParameter(url, param, value) {
const urlObj = new URL(url);
const searchParams = urlObj.searchParams;
if (searchParams.has(param)) {
// 如果参数已存在,则更新参数值
searchParams.set(param, value);
} else {
// 如果参数不存在,则拼接参数和参数值到URL上
searchParams.append(param, value);
}
return urlObj.toString();
}
// 示例用法
const url = 'https://www.example.com/?name=John&age=30';
const updatedURL = updateURLParameter(url, 'age', '25');
console.log(updatedURL);
// 输出: "https://www.example.com/?name=John&age=25"
const newURL = updateURLParameter(url, 'profession', 'developer');
console.log(newURL);
// 输出: "https://www.example.com/?name=John&age=30&profession=developer"
```
在上述代码中,`updateURLParameter` 函数接受三个参数:`url` 是要操作的 URL 字符串,`param` 是要查询/更新/添加的参数名,`value` 是要设置的参数值。函数内部先将 URL 字符串转换为 URL 对象,然后使用 `searchParams` 属性获取 URL 的查询参数部分。通过 `has` 方法判断参数是否已存在,如果存在则使用 `set` 方法更新参数值,如果不存在则使用 `append` 方法添加新的参数和参数值。最后,使用 `toString` 方法将 URL 对象转换回字符串形式,并返回更新后的 URL。
希望这个示例能够满足你的需求。如果你有更多问题,请随时提问!
阅读全文