浅谈js的url解析函数封装
在实际开发中,有些通过get方式与后台交换数据的时候,需要用到的数据在url中,因此就需要我们来获取到url中有用的信息,下面封装的函数已经可以将url解析的很彻底了,可以拿来直接用的:
functionparseURL(url){
vara=document.createElement('a');
a.href=url;
return{
source:url,
protocol:a.protocol.replace(':',''),
host:a.hostname,
port:a.port,
query:a.search,
params:(function(){
varret={},
seg=a.search.replace(/^\?/,'').split('&'),
len=seg.length,i=0,s;//len=2
alert(a.search)
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('/')
};
}
该函数的用法如下:
varmyURL=parseURL(window.location.href);//通过parseURL函数来解析当前页面的url;window.location.href可替换成任意要解析的url,如果直接写其他的url,格式应该字符串; varsearch_obj=myURL.params;//该解析方式是将search的内容解析为对象,方便进行数据的调用;其他方法可以自行尝试; varurl_post=myURL.post;//当前页面的端口号;
以上就是小编为大家带来的浅谈js的url解析函数封装全部内容了,希望大家多多支持毛票票~