JS 替换或追加URL get参数的函数
1JS 替换或追加URL get参数的函数
以下是一个 JavaScript 函数,可以用于替换或追加 URL 的 GET 参数:

```javascript
function updateQueryStringParameter(uri, key, value) {
var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
var separator = uri.indexOf('?') !== -1 ? "&" : "?";
if (uri.match(re)) {
return uri.replace(re, '$1' + key + "=" + value + '$2');
}
else {
return uri + separator + key + "=" + value;
}
}
```

该函数采用三个参数:

- `uri`:要操作的 URI 或 URL。
- `key`:要添加或替换的 GET 参数的键名。
- `value`:要添加或替换的 GET 参数的值。

该函数通过正则表达式搜索并替换指定的 get 参数,如果不存在,则使用分隔符符(`&` 或 `?`)添加新参数。

例如:

```javascript
// 替换参数 foo 的值为 bar
var uri1 = updateQueryStringParameter("http://example.com/?foo=123", "foo", "bar");
console.log(uri1); // 输出 "http://example.com/?foo=bar"

// 添加参数 bar,值为 456
var uri2 = updateQueryStringParameter("http://example.com/?foo=123", "bar", "456");
console.log(uri2); // 输出 "http://example.com/?foo=123&bar=456"
```
本页由《梦行文档》生成

 

name完成
30