本文列举了用javascript获取地址栏参数的三种方法:
方法一:
String.prototype.getQuery = function(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = this.substr(this.indexOf("?")+1).match(reg); if (r!=null) return unescape(r[2]); return null; } var strHref = "www.eyezip.com/index.htm?a=aaa&b=bbb&c=ccc"; alert(strHref.getQuery("a")); alert(strHref.getQuery("b")); alert(strHref.getQuery("c"));
方法二:
function getUrlPara(paraName){ var sUrl = location.href; var sReg = "(?:\?|&){1}"+paraName+"=([^&]*)" var re=new RegExp(sReg,"gi"); re.exec(sUrl); return RegExp.$1; } //应用实例:test_para.html?a=11&b=22&c=33 alert(getUrlPara("a")); alert(getUrlPara("b"));
方法三:
function Request(strName){ var strHref = "www.eyezip.com/index.htm?a=aaa&b=bbb&c=ccc"; var intPos = strHref.indexOf("?"); var strRight = strHref.substr(intPos + 1); var arrTmp = strRight.split("&"); for(var i = 0; i < arrTmp.length; i++) { var arrTemp = arrTmp[i].split("="); if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1]; } return ""; } alert(Request("a")); alert(Request("b")); alert(Request("c"));