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);
url解析的更多相关文章
- 简单的URL解析
简单的URL解析,直接举例说明了 function getUrl(){ //如果存在则取到来后面的参数,注意,?不需要取出,substring从1开始,否则取""; var qs ...
- ThinkPHP中URL解析原理,以及URL路由使用教程!
几个概念: THINKPHP 是一个MVC框架,使用PATHINFO解析出分组名,模块名,方法名,以及参数. PATHINFO:就是 http://localhost/index.php/Home/I ...
- Django的url解析
Django中采用正则表达式来匹配所请求的url,这个叫做URLconf,作为MVC中的C(控制器), 这样再调用相应的试图,达到控制器控制试图的显示的效果. 看一下Django的url解析过程 第一 ...
- 百度url解析Joe.Smith整理大全
百度url解析Joe.Smith整理大全 百度url解析Joe.Smith整理大全...1 本文链接:http://blog.csdn.net/qq_26816591/article/details/ ...
- jsp页面获取参数的方法(url解析、el表达式赋值、session取值)【原创】
最近使用myEclispse做网站,使用jsp+js+css做页面,网站中常用到从列表进入详情页面的跳转,下面对详情页面的值填充方式做一个简单总结: 1.url中使用request获取参数 jsp上方 ...
- 用正则把url解析为对象
用正则把url解析为对象 <!DOCTYPE html><html><head><meta charset="utf-8">< ...
- 「Python 编程」编码实现网络请求库中的 URL 解析器
摘要:怎么写出更短的代码并不是这次要讨论的话题.今天我们来研究一下:运行代码的计算机是如何找到目标服务器的? 相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSock ...
- nodejs URL解析
说到URL就需要提一下URI,一个网址就是一个URL,是一个具体的符号,说明了要通过什么协议来访问某种资源,URI是一个字符格式规范,URL是URI的一个子集,URL肯定是URI,但URI却不一定是U ...
- 三道JS试题(遍历、创建对象、URL解析)
最近在网上看到了三道不错的JS试题,还是很基础(一直认为学好前端基本功很重要...),现在记录如下: 原帖地址:http://www.w3cfuns.com/forum.php?mod=viewthr ...
- 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数,以及如何根据URL解析出匹配到MVC路由的Controller和Action
目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造 ...
随机推荐
- 转:eclipse导入工程中文乱码问题
eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的.一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同 ...
- 浅谈Javascript中默认参数值的设置
第一种: 1: function test(a,b){ 2: var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 3: var b = argu ...
- 给定金额m和红包数量n
这一题如果是采用暴力手段,不一定能获得正确答案,而且也非常耗时. 所以下面我们采用一个小技巧,也就是先产生n-1个红包,总得sum<m的,这样最后只要添加一个sum-m的红包钱数就可以了. 具体 ...
- leetcode@ [318] Maximum Product of Word Lengths (Bit Manipulations)
https://leetcode.com/problems/maximum-product-of-word-lengths/ Given a string array words, find the ...
- dataStructure@ Find if there is a path between two vertices in a directed graph
Given a Directed Graph and two vertices in it, check whether there is a path from the first given ve ...
- 函数 stat() 详解
先看看MSDN的解釋: stat(): Get status information on a file. Parameters: path: pointer to a string con ...
- IE下使用ADODB.Stream实现断点续传
最近研究了一下IE自带的一些Activex控件,可以比较简单的实现断点续传功能 不过这种方式不推荐,因为安全性较低,而且需要修改客户端注册表,调低ie安全配置 还有就是我比较懒,只打算写个思路和几个关 ...
- android http 通信(httpclient 实现)
1.httpclient get 方式 HttpGet httpGet = new HttpGet(url); HttpClient client = new DefaultHttpClient(); ...
- Android开发中常用的Eclipse快捷键
关闭所有窗口Ctrl + Shift + W 关闭所有已打开的编辑窗口 重命名Alt + Shift + R 文件或变量重命名(先选中文件或变量再同时按下快捷键) 快速引包Ctrl + Shi ...
- Sass 默认样式库
Sass 默认初始化样式库 @charset "utf-8"; // 变量存储 // 字体Unicode编码 微软雅黑:\5FAE\8F6F\96C5\9ED1 , 宋体:\5B8 ...