
“URI.js is a javascript library for working with URLs. It offers a “jQuery-style” API (Fluent Interface, Method Chaining) to read and write all regular components and a number of convenience methods like .directory() and .authority().
URI.js offers simple, yet powerful ways of working with query string, has a number of URI-normalization functions and converts relative/absolute paths.”
// mutating URLs URI("http://example.org/foo.html?hello=world") .username("rodneyrehm") // -> http://rodneyrehm@example.org/foo.html?hello=world .username("") // -> http://example.org/foo.html?hello=world .directory("bar") // -> http://example.org/bar/foo.html?hello=world .suffix("xml") // -> http://example.org/bar/foo.xml?hello=world .hash("hackernews") // -> http://example.org/bar/foo.xml?hello=world#hackernews .fragment("") // -> http://example.org/bar/foo.xml?hello=world .search("") // alias of .query() // -> http://example.org/bar/foo.xml .tld("com") // -> http://example.com/bar/foo.xml .search({ foo: "bar", hello: ["world", "mars"] }); // -> http://example.com/bar/foo.xml?foo=bar&hello=world&hello=mars
URI("?hello=world") .addSearch("hello", "mars") // -> ?hello=world&hello=mars .addSearch({ foo: ["bar", "baz"] }) // -> ?hello=world&hello=mars&foo=bar&foo=baz .removeSearch("hello", "mars") // -> ?hello=world&foo=bar&foo=baz .removeSearch("foo") // -> ?hello=world