方法:根据?切割url为两部分,取后面的继续以&切割成参数数组,然后循环数组的每一项根据=号继续切割,前半部分就是参数名,对应上方法传的参数名就把后半部分返回。没有就返回false。
var url = 'https://qq.com?appid=1234567890&name=Tom';
// 第一个参数是完整的url,第二个参数是要获取的参数名。
function getQueryVariable(url,variable)
{
var query = url.split("?")[1]; // 根据“?”切割数组,截取“?”之后的字符串
// ['https://qq.com','appid=1234567890&name=Tom']
var vars = query.split("&"); // 根据“&”切割成数组
// ['appid=1234567890','name=Tom']
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
// ['appid','1234567890']
if(pair[0] == variable) return pair[1]; // 没有花括号默认执行第一个js语句
}
return(false);
}
var appid = getQueryVariable(url, 'appid');
console.log(appid);
// 1234567890
var name = getQueryVariable(url, 'name');
console.log(name);
// Tom
网友评论