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);

url解析的更多相关文章

  1. 简单的URL解析

    简单的URL解析,直接举例说明了 function getUrl(){ //如果存在则取到来后面的参数,注意,?不需要取出,substring从1开始,否则取""; var qs ...

  2. ThinkPHP中URL解析原理,以及URL路由使用教程!

    几个概念: THINKPHP 是一个MVC框架,使用PATHINFO解析出分组名,模块名,方法名,以及参数. PATHINFO:就是 http://localhost/index.php/Home/I ...

  3. Django的url解析

    Django中采用正则表达式来匹配所请求的url,这个叫做URLconf,作为MVC中的C(控制器), 这样再调用相应的试图,达到控制器控制试图的显示的效果. 看一下Django的url解析过程 第一 ...

  4. 百度url解析Joe.Smith整理大全

    百度url解析Joe.Smith整理大全 百度url解析Joe.Smith整理大全...1 本文链接:http://blog.csdn.net/qq_26816591/article/details/ ...

  5. jsp页面获取参数的方法(url解析、el表达式赋值、session取值)【原创】

    最近使用myEclispse做网站,使用jsp+js+css做页面,网站中常用到从列表进入详情页面的跳转,下面对详情页面的值填充方式做一个简单总结: 1.url中使用request获取参数 jsp上方 ...

  6. 用正则把url解析为对象

    用正则把url解析为对象 <!DOCTYPE html><html><head><meta charset="utf-8">< ...

  7. 「Python 编程」编码实现网络请求库中的 URL 解析器

    摘要:怎么写出更短的代码并不是这次要讨论的话题.今天我们来研究一下:运行代码的计算机是如何找到目标服务器的? 相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSock ...

  8. nodejs URL解析

    说到URL就需要提一下URI,一个网址就是一个URL,是一个具体的符号,说明了要通过什么协议来访问某种资源,URI是一个字符格式规范,URL是URI的一个子集,URL肯定是URI,但URI却不一定是U ...

  9. 三道JS试题(遍历、创建对象、URL解析)

    最近在网上看到了三道不错的JS试题,还是很基础(一直认为学好前端基本功很重要...),现在记录如下: 原帖地址:http://www.w3cfuns.com/forum.php?mod=viewthr ...

  10. 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数,以及如何根据URL解析出匹配到MVC路由的Controller和Action

    目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造 ...

随机推荐

  1. 《Python基础教程(第二版)》学习笔记 -> 第三章 使用字符串

    本章讲话介绍如何使用字符串格式化其他的值,并简单了解一下利用字符串的分割.联接.搜索等方法能做些什么. 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最大最小值)对字符 ...

  2. application/x-www-form-urlencoded等字符编码的解释说明

    关于application/x-www-form-urlencoded等字符编码的解释说明 在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏 ...

  3. java 实现死锁

    package 线程安全的讨论; class DThread implements Runnable { private Object o1=null; private Object o2=null; ...

  4. uvalive 2797 Monster Trap

    题意:给定一些线段障碍,判断怪物能不能逃离到无穷远处. 思路:从(0,0)点能否到无穷远处.用BFS搜索.那满足什么样的点符合要求,能加入到图中呢? 遍历每个点,显然一开始已经在某些线段上的点要删去. ...

  5. 【转】Spark是基于内存的分布式计算引擎

    Spark是基于内存的分布式计算引擎,以处理的高效和稳定著称.然而在实际的应用开发过程中,开发者还是会遇到种种问题,其中一大类就是和性能相关.在本文中,笔者将结合自身实践,谈谈如何尽可能地提高应用程序 ...

  6. HUOJ-10857 最大的面积 凸包+DP

    题目链接:http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=10857&courseid=55 比赛的时候 ...

  7. 获取EXe版本信息

    function GetVersionString(FileName: string): string;    var    VerInfoSize: DWORD;    VerInfo: Point ...

  8. _doPostBack用法总结

    转载在以下两篇博客: http://www.cnblogs.com/yongtaiyu/archive/2011/05/13/2045746.html http://www.cnblogs.com/F ...

  9. 转载 深入理解JavaScript中的this关键字

    转载原地址: http://www.cnblogs.com/rainman/archive/2009/05/03/1448392.html 深入理解JavaScript中的this关键字   1. 一 ...

  10. hdu 4612 (双联通+树形DP)

    加一条边后最少还有多少个桥,先Tarjan双联通缩点, 然后建树,求出树的直径,在直径起点终点加一条边去的桥最多, #pragma comment(linker, "/STACK:10240 ...