JS如何获取url查询字符串的键和值?

/**
* 根据url查询字符串里的键名获取其值
*/
function getSearchString(key, search) {
// 获取URL中?之后的字符
var str = search;
str = str.substring(1,str.length);
// 以&分隔字符串,获得类似name=xiaoli这样的元素数组
var arr = str.split("&");
var obj = new Object();
// 将每一个数组元素以=分隔并赋给obj对象
for(var i = 0; i < arr.length; i++) {
var tmp_arr = arr[i].split("=");
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
}
return obj[key];
}

/**
* 根据参数名,获取url后面的参数的值
* */
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return null;
}
/**
* 根据参数名,获取url有中文的参数
* */
function getQueryVariableEco(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return decodeURI(pair[1]);}
}
return null;
}
对应的中文参数需要经过
ecodeURI()方法编码;如下:
window.location.replace (encodeURI("task_list.html?serial="+$("#serial").val()+"&start_time="+$("#start_time").val()));

\\\\\\\\\\\
//URL获取
function GetUrlParms()
{
var args=new Object();
var query=location.search.substring(1);//获取查询串
var pairs=query.split("&");//在逗号处断开
for(var i=0;i<pairs.length;i++)
{
var pos=pairs[i].indexOf('=');//查找name=value
if(pos==-1) continue;//如果没有找到就跳过
var argname=pairs[i].substring(0,pos);//提取name
var value=pairs[i].substring(pos+1);//提取value
args[argname]=unescape(value);//存为属性
}
return args;
}




原文地址:https://www.cnblogs.com/YuyuanNo1/p/9229897.html