JavaScript通过location.search获取url请求参数
获取参数的关键在于使用window.location.search,location.search是从当前URL的?号开始的字符串 ,通过对location.search进行提取,即可得到需要的参数。
为了方便纯前端html页面获取参数,可以对该功能进行封装,只要传入一个参数名,就可以获取参数的值。
方式一:使用正则表达式实现
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 decodeURIComponent(r[2]) ;//ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之.
return null;
}
方式二:对字符串分割得到参数的数组
var QueryString = (function ()
{
var paramStr = window.location.search.slice(1);
if (paramStr == '') return {};
var result = {};
var va = paramStr.split("&");
for (var i = 0; i < va.length; i++)
{
var s = va[i].split("=");
var k = s[0];
var v = s[1];
result[k] = v;
}
return result;
})();