url解析


1. 獲取當前地址url中的參數

 1      function getParam(name) {
 2         let query = window.location.search.substring(1);
 3         let vars = query.split('&');
 4         for (let i = 0; i < vars.length; i++) {
 5             let pair = vars[i].split('=');
 6             if (pair[0] == name) {
 7                 return pair[1];
 8             }
 9         }
10         return (null);
11     }

使用的話非常簡單,如下截圖獲取頁面參數page

 

 

2. 完整解析某個url地址內容

 

 1 function parseURL(url) {
 2     var a = document.createElement('a');
 3     a.href = url;
 4     return {
 5         source: url,
 6         protocol: a.protocol.replace(':', ''),
 7         host: a.hostname,
 8         port: a.port,
 9         query: a.search,
10         params: (function () {
11             var ret = {},
12                 seg = a.search.replace(/^\?/, '').split('&'),
13                 len = seg.length, i = 0, s;
14             for (; i < len; i++) {
15                 if (!seg[i]) { continue; }
16                 s = seg[i].split('=');
17                 ret[s[0]] = s[1];
18             }
19             return ret;
20         })(),
21         file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
22         hash: a.hash.replace('#', ''),
23         path: a.pathname.replace(/^([^\/])/, '/$1'),
24         relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
25         segments: a.pathname.replace(/^\//, '').split('/')
26     };
27 }    

 通過該方法,我們會得到比較完善的url的解析內容,其中的params是其中的參數對象,segments是url的path路徑

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM