全国统一服务热线:400-633-9193

JS解析url查询参数的简单代码

        2017-08-07    1404

具体代码如下所述:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var path = 'www.u.com/home?id=2&type=0&dtype=-1';
function parseUrl(url){
  var result = [];
  var query = url.split("?")[1];
  var queryArr = query.split("&");
  queryArr.forEach(function(item){
    var obj = {};
    var value = item.split("=")[0];
    var key = item.split("=")[1];
    obj[key] = value;
    result.push(obj);
  });
  return result;
}
console.log(parseUrl(path));
//[{id: '2'},{type: '0'},{dtype: '-1'}]

好了,下面看下js获取url参数值的两种方式

方法一:正则分析法

代码如下:

1
2
3
4
5
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}

调用方法:

1
2
alert(GetQueryString("参数名1"));alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

方法二

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<Script language="javascript">
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;
}
</Script>

调用方法:

1
2
3
4
5
6
7
8
9
<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数3 = Request['参数3'];
参数N = Request['参数N'];
</Script>

好了,到此结束。


  分享到:  
0.2583s