js从url中截取参数
时间: 2023-06-16 16:05:37 浏览: 51
可以通过以下方式来从URL中截取参数:
```javascript
// 假设URL为 https://www.example.com/?id=123&page=2
// 获取URL参数
const urlParams = new URLSearchParams(window.location.search);
// 获取特定参数的值
const id = urlParams.get('id'); // '123'
const page = urlParams.get('page'); // '2'
```
上述代码使用了 `URLSearchParams` 对象来获取URL中的参数,并使用 `get()` 方法获取特定参数的值。其中 `window.location.search` 返回URL中的查询字符串(即 `?` 后面的部分)。
相关问题
js截取url等于号后面的参数
可以使用正则表达式来截取url中等于号后面的参数,具体代码如下:
```javascript
function getParam(url, name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = url.substr(url.indexOf("?") + 1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
// 示例
var url = "https://www.example.com/?id=123&name=John";
var id = getParam(url, "id"); // 123
var name = getParam(url, "name"); // John
```
该函数接受两个参数,第一个参数是要截取的url,第二个参数是要获取的参数名。函数内部使用正则表达式匹配url中的参数,并返回对应的值。
js截取url问号后参数并转化为对象
可以使用以下代码来截取url问号后的参数并转化为对象:
```javascript
function getQueryString() {
var queryObj = {};
var search = window.location.search.substring(1);
var arr = search.split('&');
for (var i = 0; i < arr.length; i++) {
var pair = arr[i].split('=');
if (pair.length > 1) {
queryObj[pair[0]] = decodeURIComponent(pair[1]);
} else {
queryObj[pair[0]] = true;
}
}
return queryObj;
}
```
这个函数会返回一个对象,其中包含URL中问号后面的所有参数。例如,如果URL是`http://example.com/?foo=bar&baz=qux&quux`,那么返回的对象将如下所示:
```javascript
{
"foo": "bar",
"baz": "qux",
"quux": true
}
```
注意,这个函数会对参数进行解码,所以可以正确处理包含特殊字符的参数。例如,如果参数是`foo=hello%20world`,那么解码后的值将是`hello world`。