利用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 相关文章推荐
Javascript 颜色渐变效果的实现代码
Oct 01 Javascript
javascript使用prototype完成单继承
Dec 24 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
Feb 02 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
Jun 01 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
Jun 11 Javascript
jQuery中的ajax async同步和异步详解
Sep 29 Javascript
sea.js常用的api简易文档
Nov 15 Javascript
angularjs实现下拉列表的选中事件示例
Mar 03 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
Dec 28 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
Feb 21 Javascript
vue created钩子函数与mounted钩子函数的用法区别
Nov 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
截获网站title标签之家内容的例子
2006/10/09 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
js 加密压缩出现bug解决方案
2014/11/25 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
Python 解析XML文件
2009/04/15 Python
Python脚本处理空格的方法
2016/08/08 Python
Python实现的双色球生成功能示例
2017/12/18 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
植树节标语
2014/06/27 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python