利用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 相关文章推荐
IE浏览器兼容Firefox的JS脚本的代码
Oct 23 Javascript
选择器中含有空格在使用示例及注意事项
Jul 31 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
Apr 12 Javascript
jQuery图片轮播插件——前端开发必看
May 31 Javascript
模拟javascript中的sort排序(简单实例)
Aug 17 Javascript
Vue实现购物车功能
Apr 27 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
微信小程序实现展示评分结果功能
Feb 15 Javascript
vue实现随机验证码功能的实例代码
Apr 30 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
Jun 09 Javascript
layui表单验证select下拉框实现验证的方法
Sep 05 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判断远程url是否有效的几种方法小结
2011/10/08 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
jquery 查找新建元素代码
2010/07/06 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
jquery replace方法去空格
2017/05/08 jQuery
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
Python3读取zip文件信息的方法
2015/05/22 Python
Python变量和数据类型详解
2017/02/15 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
高中生自我评语大全
2014/01/19 职场文书
大学生毕业鉴定
2014/01/31 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
工程索赔意向书
2014/08/30 职场文书
三八妇女节致辞
2015/07/31 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技