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