淺談js的url解析函數(shù)封裝
在實(shí)際開發(fā)中,有些通過get方式與后臺(tái)交換數(shù)據(jù)的時(shí)候,需要用到的數(shù)據(jù)在url中,因此就需要我們來獲取到url中有用的信息,下面封裝的函數(shù)已經(jīng)可以將url解析的很徹底了,可以拿來直接用的:
function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':',''), host: a.hostname, port: a.port, query: a.search, params: (function(){ var ret = {}, 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]; } 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('/') }; }
該函數(shù)的用法如下:
var myURL = parseURL(window.location.href); //通過parseURL函數(shù)來解析當(dāng)前頁面的url;window.location.href可替換成任意要解析的url,如果直接寫其他的url,格式應(yīng)該字符串; var search_obj = myURL.params; //該解析方式是將search的內(nèi)容解析為對(duì)象,方便進(jìn)行數(shù)據(jù)的調(diào)用;其他方法可以自行嘗試; var url_post = myURL.post; //當(dāng)前頁面的端口號(hào);
以上就是小編為大家?guī)淼臏\談js的url解析函數(shù)封裝全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
uni-app動(dòng)態(tài)修改主題色的方法詳解
最近在看uniapp開發(fā)app時(shí)需要實(shí)現(xiàn)動(dòng)態(tài)修改主題色的功能,這篇文章主要給大家介紹了關(guān)于uni-app動(dòng)態(tài)修改主題色的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12js操作Xml(向服務(wù)器發(fā)送Xml,處理服務(wù)器返回的Xml)(IE下有效)
js操作Xml(向服務(wù)器發(fā)送Xml,處理服務(wù)器返回的Xml)(暫只IE下有效)2009-01-01js實(shí)現(xiàn)的簡(jiǎn)練高效拖拽功能示例
這篇文章主要介紹了js實(shí)現(xiàn)的簡(jiǎn)練高效拖拽功能,通過對(duì)js鼠標(biāo)事件的擴(kuò)展實(shí)現(xiàn)拖拽效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-12-12js實(shí)現(xiàn)3D旋轉(zhuǎn)相冊(cè)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)3D旋轉(zhuǎn)相冊(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08JS實(shí)現(xiàn)的JSON序列化操作簡(jiǎn)單示例
這篇文章主要介紹了JS實(shí)現(xiàn)的JSON序列化操作,結(jié)合簡(jiǎn)單實(shí)例形式分析了json序列化操作相關(guān)實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考下2018-07-07JavaScript實(shí)現(xiàn)的原生態(tài)兼容IE6可調(diào)可控滾動(dòng)文字功能詳解
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的原生態(tài)兼容IE6可調(diào)可控滾動(dòng)文字功能,簡(jiǎn)單說明了文字滾動(dòng)的實(shí)現(xiàn)原理并結(jié)合具體實(shí)例形式給出了javascript文字滾動(dòng)功能的具體實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09javascript實(shí)現(xiàn)計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03