您所在的位置:小祥子 » 编程 » JavaScript » 正文

JS获取当前网址参数

时间:2015-01-12 编辑:佚名 来源:互联网

获取当前网址参数,在日常使用中非常常用。比如说可以用于判断当前的网址属于哪一篇文章,然后统计点击数,当然如果是自己的站点也可以在程序里直接做统计,这只是举个例子。以下几种方法大同小异,都是截取URL的某个部分,用正则或者直接截取对应字符的左右字符来获取参数。

方法一:
<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>

关键词:网址 参数 URL