用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>
posted @ 2011-01-25 21:29  琥珀光  阅读(154)  评论(0编辑  收藏  举报