heimao 发表于 2017-2-12 14:09:13

js获取地址栏中传递的参数

第一种:字符串拆分法
window.location.href 或者 location.href 或者 window.location 获得地址栏中的所有内容
decodeURI()可以解码地址栏中的数据 恢复中文数据
window.search 获得地址栏中问号及问号之后的数据
//获取地址栏里(URL)传递的参数
function GetRequest(value) {
  //url例子:www.cnblackhat.com?id="123456"&Name="bicycle";
  var url = decodeURI(location.search); //?id="123456"&Name="bicycle";
  var object = {};
  if(url.indexOf("?") != -1)//url中存在问号,也就说有参数。
  {  
   var str = url.substr(1); //得到?后面的字符串
   var strs = str.split("&"); //将得到的参数分隔成数组;
   for(var i = 0; i < strs.length; i ++)
    {  
        object.split("=")]=strs.split("=")
      }
  }
  return object;
}

第二种:正则匹配法
这种方法其实原理和上一种方法类似,都是从URL中提取,只是提取的方法不同而已。
function GetQueryString(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) {  
    return unescape(r);
  }
  return null;
}

页: [1]
查看完整版本: js获取地址栏中传递的参数