js获取地址栏中传递的参数(两种方法)

第一种:字符串拆分法

window.location.href 或者 location.href 或者 window.location 获得地址栏中的所有内容

decodeURI()可以解码地址栏中的数据 恢复中文数据

window.search 获得地址栏中问号及问号之后的数据

//获取地址栏里(URL)传递的参数 
function GetRequest(value) { 
  //url例子:www.bicycle.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("&"); //将得到的参数分隔成数组[id="123456",Name="bicycle"];
   for(var i = 0; i < strs.length; i ++) 
    {  
        object[strs[i].split("=")[0]]=strs[i].split("=")[1]
      }
  }
  return object[value]; 
} 

第二种:正则匹配法

这种方法其实原理和上一种方法类似,都是从URL中提取,只是提取的方法不同而已。

function GetQueryString(name) { 
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); 
  var r = window.location.search.substr(1).match(reg); 
  if (r != null) {  
    return unescape(r[2]); 
  } 
  return null; 
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。