• url解析


    window.onload=function(){
      var url="http://www.qq.com/index.html?key1=1&key2=2&key3=3";
      var json={};
      json['query']=url.split('?')[1];
      json['protocol']=url.split(':')[0];
      json['hostname']=url.split('/')[2];//注意切出来时空的时候忽略不算,不会占数组的一位
      json['pathname']="/"+url.split('/')[3].split('?')[0];
      alert(JSON.stringify(json));
    };

    //json构造的方法
    var url='URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e';
    var arr=url.split('?')[1].split('&');
    var json={};
    for(var i=0;i<arr.length;i++){
    json[arr[i].split('=')[0]]=arr[i].split('=')[1]
    }
    return json;

    //字符串拼接的方法
    var url='URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e';
    var arr=url.split('?')[1].split('&');
    var str='';
    var json=null;
    for(var i=0; i<arr.length; i++){
    if(arr[i].indexOf('=')!=-1){
    str+=arr[i].split('=')[0]+":"+"'"+arr[i].split('=')[1]+"'"+",";
    }else{
    str+=arr[i]+":undefined,";
    }
    }
    json=eval('('+str.substring(0,str.length-1)+')');
    return json;


    var url = 'http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e';//注意ie不兼容forEach()方法
    var gets = url.split('?')[1];
    gets = gets.split('&')
    var paramJson = {}
    gets.forEach( function(item) {
    var key_value=item.split('=');
    paramJson[key_value[0]]=key_value[1];
    })

    //正则表达式+json构造法
    var url='http://item.taobao.com/item.htm?a=1&b=2&b=3&c=&d=xxx&e',obj={};
    url.replace(/[&?]([^=]+)=([^&#]*)/gi,function(a,b,c){
    obj[b] ? (obj[b]+=","+c):(obj[b]=c);//如果不计较重复就用obj[b]=c
    });
    console.log(obj);

  • 相关阅读:
    WPF 中 TextBlock 文本换行与行间距
    WPF中TextBox文件拖放问题
    WPF 自定义鼠标光标
    矩形覆盖
    跳台阶和变态跳台阶
    用两个栈实现队列
    重建二叉树
    从尾到头打印链表
    替换空格
    斐波那契数列
  • 原文地址:https://www.cnblogs.com/cdwp8/p/4040023.html
Copyright © 2020-2023  润新知