获取URL参数的方法封装
/**
* 获取URL参数( URL编码问题解决办法: decodeURI(requestURL("参数名"))解码 )
* @param paras : 参数名
* @returns {*} : 参数对应值
*/
function requestURL(paras) {
var url = location.href;
var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
var paraObj = {};
for (i = 0; j = paraString[i]; i++) {
paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if (typeof(returnValue) == "undefined" || returnValue == "undefined" || returnValue == null) {
return "";
} else {
return returnValue;
}
}
正则法获取
//例:地址为:https://hjm100.cn?name=1
//截取url传递的参数
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return (r[2]); return null;
}
//调用方法:
console.log(GetQueryString('name'))
数组法
function UrlSearch() {
var url,value;
var str=location.href; //取得整个地址栏
var num=str.indexOf("?")
str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ]
var arr=str.split("&"); //各个参数放到数组里
for(var i=0;i < arr.length;i++){
num=arr[i].indexOf("=");
if(num>0){
url=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[url]=value;
}
}
}
var Request=new UrlSearch(); //实例化
var slide = Request.slide
网友评论