您的位置:首页 > Web前端 > JavaScript

获取请求url的查询字符串

2017-12-01 19:01 381 查看
在两个页面间通过url传参的时候,需要获取传递的查询字符串,例如获取下面url的name对应的值:

www.baidu.com/img?name=lili&age=18&school=81school

有两种方法,一是用数组split()为主的拆分,二是用正则表达式的拆分。

1 数组拆分:

function getQueryStringArgs(){
var qs = (location.search.length > 0 ? location.search.substring(1) : "");
args = {},
items = qs.length ? qs.split("&") : [],
item = null,
name = null,
value = null,
i = 0,
len = items.length;

for(i=0; i<len; i++){
item = items.split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if(name.length){
args[name] = value;
}
}
return args;
}

2 正则表达式:

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

3 自己写的:(反面案例)

function getQuery(){
var search = location.search.substring(1),
queryArr = search.split('&'),
obj;
for(var i=0, len=queryArr.length; i < len; i++){
var str = queryArr.split('=');
obj[str[0]] = str[1];
}
return obj;
}

1是参考js高级程序设计P207页。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  url 参数获取 js