方法一、正则表达式
1 2 3 4 5 6 | 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 null; } |
方法二、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | < Script language="javascript"> function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length ; i ++) { theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); } } return theRequest; } </script> |
方法三、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /** * 获取指定的URL参数值 * URL:http://www.quwan.com/index?name=tyler * 参数:paramName URL参数 * 调用方法:getParam("name") * 返回值:tyler */ function getParam(paramName) { paramValue = "", isFound = !1; if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) { arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0; while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++ } return paramValue == "" && (paramValue = null), paramValue } |
其他参数获取介绍:
//设置或获取对象指定的文件名或路径。alert(window.location.pathname);//设置或获取整个 URL 为字符串。alert(window.location.href);//设置或获取与 URL 关联的端口号码。alert(window.location.port);//设置或获取 URL 的协议部分。alert(window.location.protocol);//设置或获取 href 属性中在井号“#”后面的分段。alert(window.location.hash);//设置或获取 location 或 URL 的 hostname 和 port 号码。alert(window.location.host);//设置或获取 href 属性中跟在问号后面的部分。alert(window.location.search);