JS 解析 URL 代码
2021-04-06 05:26
标签:win ram ret item relative protocol name var arch JS 解析 URL 代码 标签:win ram ret item relative protocol name var arch 原文地址:https://www.cnblogs.com/everlose/p/12501159.htmlfunction 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 = {};
var seg = window.location.search.replace(/^\?/, '').split('&');
var s;
seg.forEach(function (item, index) {
if (!item) {
return;
}
s = seg[index].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('/')
};
};