获取url中的参数

获取url中的参数

方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

function getUrlParams (search) {
search = search || location.search;

// 判断是否为字符串类型
if (typeof search !== 'string') {
search = search.toString();
}

var paramsSplit = search.replace(/^[^\?]*\?/i, '').split(/&/);
var params = {};

// 数据为空
if (paramsSplit.length < 1) {
return params;
}

if (Array.isArray(paramsSplit)) {
paramsSplit.forEach(function (item) {
// 数据为空, 退出方法
if (!item) {
return false;
}
var itemSplit = item.split(/=/);

// 判断字符串中是否有多个=
if (itemSplit.length >= 2) { // 是
var key = itemSplit.splice(0, 1);
params[key] = itemSplit.join('=');
}
});
}
return params
}

方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//获取url中参数
function GetRequest()
{
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1)
{
var str = url.substr(1);
strs = str.split("&");
for (var i = 0; i < strs.length; i++)
{
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}

根据key,获取url中的参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function GetRequest2(key)
{
var url = location.search;
var theRequest = new Object();
if (url.indexOf("?") != -1)
{
var str = url.substr(1);
strs = str.split("&");
for (var i = 0; i < strs.length; i++)
{
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
var value = theRequest[key];
return value;
}