用javascript写一个获取函数中url的参数
时间: 2024-03-14 22:46:17 浏览: 16
可以使用 JavaScript 中的正则表达式和字符串处理方法来获取函数中 URL 的参数。下面是一个示例函数:
```javascript
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, '\\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
```
这个函数接受两个参数,第一个参数是要获取的参数名,第二个参数是要解析的 URL。如果没有传入第二个参数,则默认使用当前页面的 URL。
函数首先使用正则表达式匹配 URL 中的参数,然后返回对应的值。如果没有找到指定的参数,则返回 null。
可以使用以下代码调用这个函数:
```javascript
var foo = getParameterByName('foo'); // 获取名为 foo 的参数的值
var bar = getParameterByName('bar'); // 获取名为 bar 的参数的值
```
注意,这个函数只能获取 URL 中的查询参数(即 ? 后面的参数),不能获取 URL 中的 hash 参数(即 # 后面的参数)。如果需要获取 hash 参数,可以将正则表达式中的 '#' 替换为 '\#'。