Skip to content

Instantly share code, notes, and snippets.

@yyclaw
Forked from sofish/urlparser.js
Last active August 29, 2015 14:09
Show Gist options
  • Select an option

  • Save yyclaw/f343ee282bc1ea415f9f to your computer and use it in GitHub Desktop.

Select an option

Save yyclaw/f343ee282bc1ea415f9f to your computer and use it in GitHub Desktop.
var parser = function(url) {
var a = document.createElement('a');
a.href = url;
var search = function(search) {
if(!search) return {};
var ret = {};
search = search.slice(1).split('&');
for(var i = 0; i < search.length; i++) {
var n = search[i].indexOf('=');
var key, val;
if (n === -1) {
key = search[i];
val = null;
}
else {
key = search[i].substring(0, n);
val = search[i].substring(n + 1);
}
ret[key] = val;
}
return ret;
};
return {
protocol: a.protocol,
host: a.host,
hostname: a.hostname,
pathname: a.pathname,
search: search(a.search),
hash: a.hash
}
};
var url = 'http://sub.example.com:8023/home/?foo=bar&ciao=cc#hash';
parser(url);
// 结果是?
@yyclaw
Copy link
Copy Markdown
Author

yyclaw commented Nov 17, 2014

还没有支持 数组,在开会,不写了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment