核心提示:本文列舉了用javascript擷取地址欄參數的三種方法
本文列舉了用javascript擷取地址欄參數的三種方法:
方法一:
<script type="text/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.cnlei.org/index.htm?a=aaa&b=bbb&c=ccc";
alert(strHref.getQuery("a"));
alert(strHref.getQuery("b"));
alert(strHref.getQuery("c"));
//-->
</script>
方法二:
<script type="text/javascript">
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"));
</script>
方法三:
<script type="text/javascript">
<!--
function Request(strName){
var strHref = "www.cnlei.org/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"));
//-->
</script>