js 把链接中的参数截取出来
时间: 2024-09-28 14:05:23 浏览: 29
js代码-截取URL参数
在JavaScript中,如果你想要从一个URL中提取参数,你可以使用`URLSearchParams` API或者简单的正则表达式。下面我会提供两个例子:
1. 使用`URLSearchParams`:
```javascript
function extractParams(url) {
const urlObj = new URL(url);
const searchParams = urlObj.searchParams;
return searchParams.entries().reduce((params, [key, value]) => ({
...params,
[key]: value,
}), {});
}
const paramsFromLink = extractParams('http://example.com/?name=value&age=30');
console.log(paramsFromLink); // 输出:{ name: 'value', age: '30' }
```
在这个例子中,`searchParams`对象包含了查询字符串的所有键值对。
2. 使用正则表达式(对于简单的情况足够):
```javascript
function getParamsFromLink(link) {
const regex = /\?(.*?)(#|$)/; // 匹配查询字符串
const match = link.match(regex);
if (match) {
const decodedParams = decodeURIComponent(match[1]);
return JSON.parse('{' + decodedParams.replace(/(&|=)/g, '","$1":"').replace(/"/g, '').slice(1, -1) + '}');
} else {
return {};
}
}
const paramsFromLinkSimple = getParamsFromLink('http://example.com/?name=value&age=30');
console.log(paramsFromLinkSimple); // 输出:{ name: 'value', age: '30' }
```
这个方法假设参数值已经进行了URL编码,并且只适用于URL不含特殊字符的情况。
阅读全文