码迷,mamicode.com
首页 > 其他好文 > 详细

url字符串和对象之间的转换

时间:2014-08-10 18:03:40      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   ar   cti   div   

这里会涉及两个需求,有时候,我们想将获得的url字符串按键值对的形式保存成一个对象,用location.search获得url参数字符串,这里不考虑location.pathname和location.hash。

url字符串对象化

 1 var urlToObj = function (){
 2    var search = this.replace(/^\s+|\s+$/, ‘‘).match(/([^?#]*)(#.*)?$/);     
 3     if( !search ){
 4         return {};     
 5     }
 6      
 7     var searchHash = search[1].split(‘&‘);
 8     var obj = {};
 9     
10     for(var i = 0, len = searchHash.length; i<len; i++){
11          var pair = searchHash[i].split(‘=‘);
12          if(pair[0]){
13             var key = decodeURIComponent(pair[0]);
14             var value = pair[1];
15             if(value != undefined ){
16                 value = decodeURICoponent(value);
17             }
18             //这里判断转化后的obj里面有没有重复的属性
19             if( key in obj ){
20                 if( obj [key] != Array ){
21                     //把属性值变为数组,将另外的属性值也存放到数组中去
22                     obj [key] = [obj [key]];
23                 }
24                 obj [key].push(value);
25             }else{
26                  obj [key] = value;
27             }
28          }
29     }
30 
31     return obj;
32 };          
33 
34 //调用可以如下
35  urlToObj.call( location.search );                 

 

url字符串和对象之间的转换,布布扣,bubuko.com

url字符串和对象之间的转换

标签:style   blog   color   io   for   ar   cti   div   

原文地址:http://www.cnblogs.com/guoyongfeng/p/3902945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!