浅谈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解析函数封装全部内容了,希望大家多多支持毛票票~