首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何快速解析一个url?

“一群程序员下班前又开始聚在一起Yy了”

写在前面:今天工作有点迟了,但每日一更的规矩不能破坏,今天就少写一点,话说要不要关注一下?

今日内容:快速解析url

在我们做项目的过程中,有时候会遇上解析一大串url字符串,从中取一些参数,那么你平时怎么来获取这些参数呢?正则?或者是?

今天,我就来教你们怎么快速解析一个url字符串,首先,我们创建一个a节点:

vardom=document.createElement('a');

然后我们将这个节点的href属性设为要解析的url字符串:

dom.href='要解析的字符串';

这个时候我们来输出一下dom【 注意下图我用的是console.dir() 】:

我们经常需要的hostname[主机名],hash[哈希],path[路径],query[查询参数],protocol[协议]都在这里边了,唯一不足之处是没有键值对形式的params,但也不是很复杂了,下面就放出我平时使用的一个封装好的url解析方法吧:

/**

*@name: resolution url

*@version:1.0.0

*@author: Aile

* @github : https://github.com/ailewl/reURL/

* @Explain site : https://ailewl.github.io/reURL/#/

**/

functionURLRes() {

this.myUrl=this.getMyUrl();

this.fromUrl=this.getFromUrl()

}

varmy=document.createElement('a');

my.href=document.URL;

return{

url:my.href,

hostname:my.hostname,

path:my.pathname.replace(/^([^\/])/,'/$1'),

query:my.search,

params: (function() {

varret={},

seg=my.search.replace(/^\?/,'').split('&'),

len=seg.length,

i=,

s;

for(;i

if(!seg[i]) {

continue;

}

s=seg[i].split('=');

ret[s[]]=s[1];

}

returnret;

})()

}

}

varFrom=document.createElement('a');

From.href=document.referrer;

return{

url:From.href,

hostname:From.hostname,

path:From.pathname.replace(/^([^\/])/,'/$1'),

query:From.search,

params: (function() {

varret={},

seg=From.search.replace(/^\?/,'').split('&'),

len=seg.length,

i=,

s;

for(;i

if(!seg[i]) {

continue;

}

s=seg[i].split('=');

ret[s[]]=s[1];

}

returnret;

})()

}

}

My Lover Is 404

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806G1UU9M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券