获取请求url的查询字符串

  

在两个页面间通过url传参的时候,需要获取传递的查询字符串,例如获取下面url的名称对应的值:

  

www.baidu.com/img?name=lili&年龄=18,学校=81

  

有两种方法,一是用数组分割()为主的拆分,二是用正则表达式的拆分。

  

1数组拆分:

  
 <代码>函数getQueryStringArgs () {
  var qs=(location.search。长度比;0 ?location.search.substring (1): ");
  args={},
  项=qs。长度呢?qs.split(”和“):[],
  项=零,
  name=零,
  值=https://www.yisu.com/zixun/null
  我=0,
  len=items.length;
  
  (我=0;我<兰;我+ +){
  项=items.split ("=");
  name=decodeURIComponent(项目[0]);
  值=https://www.yisu.com/zixun/decodeURIComponent(项目[1]);
  如果(name.length) {
  args[名字]=价值;
  }
  }
  返回参数;
  } 
  

2正则表达式:

  
 <代码>函数getQuery(名字){
  var reg=new RegExp(”(^ |,)“+名字+”=((^和)*)(和| $)”),
  str=window.location.search.substr (1) .match(注册);
  如果(str !==null) {
  返回unescape (str [2]);
  }
  返回null;
  } 
  

3自己写的:反面案例)

  
 <代码>函数getQuery () {
  var搜索=location.search.substring (1),
  queryArr=search.split (', '),
  obj;
  (var=0, len=queryArr.length;我& lt;兰;我+ +){
  var str=queryArr.split ('=');
  obj [str [0]]=str [1];
  }
  返回obj;
  } 
  

1是参考js高级程序设计P207页。

获取请求url的查询字符串