首页 > 编程 > JavaScript > 正文

JS获取地址栏参数的几种方法小结

2019-11-20 21:01:58
字体:
来源:转载
供稿:网友

复制代码 代码如下:

<script>
 // 获取地址栏的参数数组
 function getUrlParams() {
  var search = window.location.search;
  // 写入数据字典
  var tmparray = search.substr(1, search.length).split("&");
  var paramsArray = new Array;
  if (tmparray != null) {
   for (var i = 0; i < tmparray.length; i++) {
    var reg = /[=|^==]/;    // 用=进行拆分,但不包括==
    var set1 = tmparray[i].replace(reg, '&');
    var tmpStr2 = set1.split('&');
    var array = new Array;
    array[tmpStr2[0]] = tmpStr2[1];
    paramsArray.push(array);
   }
  }
  // 将参数数组进行返回
  return paramsArray;
 }

 // 根据参数名称获取参数值
 function getParamValue(name) {
  var paramsArray = getUrlParams();
  if (paramsArray != null) {
   for (var i = 0; i < paramsArray.length; i++) {
    for (var j in paramsArray[i]) {
     if (j == name) {
      return paramsArray[i][j];
     }
    }
   }
  }
  return null;
 }

function test()
{
    alert("v="+getParamValue("name"));
}

var test1= function()
{
  //alert("v1="+getParamValue("name"));
  //alert("v2="+GetUrlParam("name"));
  //alert("v3="+GetUrlParms("name"));
  alert("v4="+getQuery("name"));
}

function GetUrlParam(paramName) {
 var url = document.URL; //URL参数,你也可以用document.URL来获取,方法太多了
 var oRegex = new RegExp('[/?&]' + paramName + '=([^&]+)', 'i');
 //var oMatch = oRegex.exec( window.top.location.search ) ; //获取当前窗口的URL
 var oMatch = oRegex.exec(url);
 if (oMatch && oMatch.length > 1)
  return oMatch[1]; //返回值
 else
  return '';
}

//获取url参数
function GetUrlParms(name) {
 var reg = new RegExp("(^|//?|&)" + name + "=([^&]*)(//s|&|$)", "i");
 if (reg.test(location.href))
  return unescape(RegExp.$2.replace(//+/g, " "));
 return "";
}
var getQuery = function (i) {

var j = location.search.match(new RegExp("[?&]" + i + "=([^&]*)(&?)", "i"));

return j ? j[1] : j

};
</script>

JS获取地址栏参数 :<br>

<a href="#" onclick="test1();">获取参数值</a>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表