Skip to content

Instantly share code, notes, and snippets.

@PseudoNinja
Forked from jlong/uri.js
Last active August 29, 2015 14:13
Show Gist options
  • Select an option

  • Save PseudoNinja/fb4a274bb2d5ead05d1b to your computer and use it in GitHub Desktop.

Select an option

Save PseudoNinja/fb4a274bb2d5ead05d1b to your computer and use it in GitHub Desktop.
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
(function(){
parser.isLocal = (window.location.host === parser.host) ? true : false; // determine if is local url
parser.fullPath = parser.host + parser.pathname + parser.hash;
parser.params = {};
// Convert query string to object
var split,
queries = parser.search.replace(/^\?/, '').split('&')
;
for (i = 0; i < queries.length; i++) {
split = queries[i].split('=');
parser.params[split[0]] = split[1];
}
})();
//parser.protocol; // => "http:"
//parser.hostname; // => "example.com"
//parser.port; // => "3000"
//parser.pathname; // => "/pathname/"
//parser.search; // => "?search=test"
//parser.hash; // => "#hash"
//parser.host; // => "example.com:3000"
//parser.fullPath; // => "example.com:3000/pathname/#hash"
//parser.isLocal; // => false
//parser.params; // => [object Object] { search: "test" }
@PseudoNinja
Copy link
Copy Markdown
Author

Added support for parameters object and isLocal detection.

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