利用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 相关文章推荐
IE8 原生JSON支持
Apr 13 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
Sep 05 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
Feb 04 Javascript
封装了一个支持匿名函数的Javascript事件监听器
Jun 05 Javascript
JavaScript阻止事件冒泡示例分享
Dec 28 Javascript
javascript实现随机读取数组的方法
Aug 03 Javascript
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 Javascript
vue axios数据请求及vue中使用axios的方法
Sep 10 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
Dec 30 Javascript
Django模板继承 extend标签实例代码详解
May 16 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 Javascript
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 归并排序 数组交集
2011/05/10 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
php实现websocket实时消息推送
2018/03/30 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
Python实现读取json文件到excel表
2017/11/18 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
利用python 读写csv文件
2020/09/10 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
我爱我家教学反思
2014/05/01 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
酒店辞职书范文
2015/02/26 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python
vue里使用create, mounted调用方法
2022/04/26 Vue.js