parse URL
962 ワード
私達は知っています.locationオブジェクトで直接にhostname、search、hashなどのパラメータを取得できます.
リンクされたurlの中には、既存のAPIがありません.これらのパラメータを取得できます.
以下は小さな方法です.リンク中の様々なパラメータを得ることができます.
リンクされたurlの中には、既存のAPIがありません.これらのパラメータを取得できます.
以下は小さな方法です.リンク中の様々なパラメータを得ることができます.
function parseURL(url) {
var ret = {};
ret.href = url;
var match = url.match(/^([^\/:]+:)?(?:\/\/([^\/:]*)(?::([\d]+))?)?(\/?[^\?#]*)?(\?[^\#]*)?(#.*)?$/i);
if (match) {
ret.isValid = true;
ret.protocol = match[1] || '';
ret.hostname = match[2] || '';
ret.port = match[3] || '';
ret.host = ret.hostname + ret.port ? ':' : '' + ret.port;
ret.pathname = match[4] || "/";
ret.origin = ret.protocol + ret.host ? '//' : '' + ret.host;
ret.search = match[5] || '';
ret.hash = match[6] || '';
} else {
ret.isValid = false;
ret.path = ret.url;
}
return ret;
}