JavascriptでURLをパースするには


jQueryに標準でパース関数があればいいのにと思うのだが無いので検索してみたら、良さそうなコードを見つけたのでメモ。
元ネタはこちら: Parsing URLs in JavaScript · A Beautiful Blog

[javascript]
function parseURL(url) {

var parser = document.createElement(‘a’),
searchObject = {},
queries, split, i;

// Let the browser do the work
parser.href = url;

// Convert query string to object
queries = parser.search.replace(/^\?/, ”).split(‘&’);
for( i = 0; i < queries.length; i++ ) {
split = queries[i].split(‘=’);
searchObject[split[0]] = split[1];
}

return {
protocol: parser.protocol,
host: parser.host,
hostname: parser.hostname,
port: parser.port,
pathname: parser.pathname,
search: parser.search,
searchObject: searchObject,
hash: parser.hash
};

}
[/javascript]

jQueryプラグインは、Purlなどいくつかあるようだが、プラグイン追加するほどでもないときに使えそう。