利用a标签自动解析URL分析网址实例


Posted in Javascript onOctober 20, 2014

对于window.location,我们比较熟悉,它有protocol,hostname,host,port,search,hash,href,pathname等属性,a标签也和window.location一样,也有这样属性,这样可以方便我们分析网址,闲话少说,上代码。

function parseURL(url) {
var a = document.createElement('a');
a.href = url;
return {
source: url,
protocol: a.protocol.replace(':',''),
host: a.hostname,
port: a.port||'80',
query: a.search,
params: (function(){
var ret = {},
seg = a.search.replace(/^\?/,'').split('&'),
len = seg.length, i = 0, s;
for (;i<len;i++) {
if (!seg[i]) { continue; }
s = seg[i].split('=');
ret[s[0]] = s[1];
}
return ret;
})(),
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
hash: a.hash.replace('#',''),
path: a.pathname.replace(/^([^\/])/,'/$1'),
relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1],
segments: a.pathname.replace(/^\//,'').split('/')
};
}

测试地址

console.log(parseURL("http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2"));

结果如下

{

file: "dom_obj_anchor.asp",

hash: "id2",

host: "www.w3school.com.cn",

params: {type: "2"},

path: "/jsref/dom_obj_anchor.asp",

port: "80",

protocol: "http",

query: "?type=2",

relative: "/jsref/dom_obj_anchor.asp?type=2#id2",

segments: [0: "jsref",1: "dom_obj_anchor.asp"],

source: http://www.w3school.com.cn/jsref/dom_obj_anchor.asp?type=2#id2

}
Javascript 相关文章推荐
jquery根据name属性查找的小例子
Nov 21 Javascript
js小数运算出现多位小数如何解决
Oct 08 Javascript
Javascript 5种方法实现过滤删除前后所有空格
Jun 22 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
Aug 23 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
使用 Node.js 开发资讯爬虫流程
Jan 07 Javascript
js实时监控文本框输入字数的实例代码
Jan 18 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
解决layui-open关闭自身窗口的问题
Sep 10 Javascript
javascript 使用sleep函数的常见方法详解
Apr 26 Javascript
原生js实现简单轮播图
Oct 26 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
JavaScript严格模式禁用With语句的原因
Oct 20 #Javascript
jquery中页面Ajax方法$.load的功能使用介绍
Oct 20 #Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
Oct 20 #Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
Oct 19 #Javascript
js添加select下默认的option的value和text的方法
Oct 19 #Javascript
使用变量动态设置js的属性名
Oct 19 #Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 #Javascript
You might like
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
使用php实现截取指定长度
2013/08/06 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
2019/04/08 PHP
php接口隔离原则实例分析
2019/11/11 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
python实现的jpg格式图片修复代码
2015/04/21 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
Python单元和文档测试实例详解
2019/04/11 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
Python程序控制语句用法实例分析
2020/01/14 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
Python计算IV值的示例讲解
2020/02/28 Python
浅谈django 重载str 方法
2020/05/19 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
文职个人求职信范文
2013/09/23 职场文书
生产班组长岗位职责
2014/01/05 职场文书
物业总经理岗位职责
2014/02/28 职场文书
厨房管理计划书
2014/04/27 职场文书
技术负责人任命书
2014/06/05 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书