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路径

 

 

 

 

 

 

 

 

 

posted @   方帅  阅读(2545)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示