利用a标签自动解析URL分析网址实例
对于window.location,我们比较熟悉,它有protocol,hostname,host,port,search,hash,href,pathname等属性,a标签也和window.location一样,也有这样属性,这样可以方便我们分析网址,闲话少说,上代码。
functionparseURL(url){
vara=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(){
varret={},
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];
}
returnret;
})(),
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
}
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短