获取地址栏参数,支持传中文参数
function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); // 构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); // 匹配目标参数 if (r != null) return decodeURIComponent(r[2]); return null; // 返回参数值 }
1、substr(start,length) 方法可在字符串中抽取从 start 下标开始的指定数目的字符,start必须,length可选,可接负的参数,表示从字符串尾部算起。
2、substring(start,stop) 方法用于提取字符串中介于两个指定下标之间的字符,不包含stop处的字符,start必须,stop可选,不接受负的参数。
3、slice(start,end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分,可接负的参数。
3、window.location.search是从当前URL的?号开始的字符串,如:search就是?tid=22720。
4、match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,返回值存放匹配结果的数组,该数组的内容依赖于 regexp 是否具有全局标志 g
将url参数解析成对象
function getParams() { var url = location.search; //获取url中"?"符后的字串 var obj= {}; if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for (var i = 0; i < strs.length; i++) { obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]); } } return obj; }
function getParams(){ var obj = {}; var keyvalue = []; var key = "",value = ""; var url=window.location.href; var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&"); for (var i in paraString) { keyvalue = paraString[i].split("="); key = keyvalue[0]; value = keyvalue[1]; obj[key] = value; } return obj; }