方法如下:
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;
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(\'/\')
};
}
使用方法如下:
var myURL = parseURL(\'http://abc.com:8080/dir/index.html?id=255&m=hello#top\');
myURL.file; // = \'index.html\';
myURL.hash; // = \'top\'
myURL.host; // = \'abc.com\'
myURL.query; // = \'?id=255&m=hello\'
myURL.params; // = Object = { id: 255, m: hello }
myURL.path; // = \'/dir/index.html\'
myURL.segments; // = Array = [\'dir\', \'index.html\']
myURL.port; // = \'8080\'
myURL.protocol; // = \'http\'
myURL.source; // = \'http://abc.com:8080/dir/index.html?id=255&m=hello#top\'
http://www.w3cmark.com/2014/2.html