1。URL解析関数
コードコピーは次のとおりです。
<スクリプト>
/**
*@param {string} url完了URLアドレス
*@returns {object}カスタムオブジェクト
*@説明使用例:var myurl = parseurl( 'http://abc.com:8080/dir/index.html?id=255&m=hello#top');
myurl.file = 'index.html'
myurl.hash = 'top'
myurl.host = 'abc.com'
myurl.query = '?id = 255&m = hello'
myurl.params = object = {id:255、m:hello}
myurl.path = '/dir/index.html'
myurl.segments = array = ['dir'、 'index.html']
myurl.port = '8080'
myurl.protocol = 'http'
myurl.source = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
*/
function parseurl(url){
var a = document.createelement( 'a');
A.href = url;
戻る {
出典:URL、
プロトコル:A.ProtoCol.Replace( ':'、 '')、
ホスト:A.HostName、
ポート:A.port、
クエリ:A.Search、
パラメーション:( function(){
var ret = {}、
seg = a.search.replace(/^/?/、 '')。分割( '&')、
len = seg.length、i = 0、s;
for(; i <len; i ++){
if(!seg [i]){続行; }
s = seg [i] .split( '=');
ret [s [0]] = s [1];
}
返品;
})()、
ファイル:(a.pathname.match(///([^//?#]+)$/i)|| [、 ''])[1]、
ハッシュ:A.Hash.Replace( '#'、 '')、
パス:a.pathname.replace(/^([^//])/、 '/$ 1')、
相対:(a.href.match(/tps?://// [^//]+(。+)/)|| [、 ''])[1]、
セグメント:a.pathname.replace(/^///、 '')。分割( '/')
};
}
// var myurl = parseurl( 'http://abc.com:8080/dir/index.html?id=255&m=hello#top');
var myurl = parseurl( 'http:// localhost:8080/test/mytest/tologina.act?m = 123&pid = abc');
アラート(myurl.path);
アラート(myurl.params.m);
アラート(myurl.params.pid);
</script>
2。JSセグメント化されたURL分析
URL:ユニフォームリソースロケーター(URL)
完全なURLは、これらの部分で構成されています:Scheme:// host:port/path?query#fragment
コードコピーは次のとおりです。
スキーム=通信プロトコル(一般的に使用されるHTTP、FTP、Maitoなど)
host = host(ドメイン名またはIP)
ポート=ポート番号
パス=パス
Query = Query(オプション、パラメーターを動的Webページ(CGI、ISAPI、PHP/JSP/ASP/ASP.NETおよびその他のテクノロジーを使用して作成したWebページなど)にパラメーターを渡すために使用されます。「&」シンボルで区切られ、各パラメーターの名前と値は「=シンボルによって区切られています。
フラグメント=情報フラグメント(ネットワークリソースのフラグメントを指定するために使用される文字列。たとえば、Webページに複数の名詞の説明がある場合、フラグメントを使用して特定の用語の説明を直接見つけることができます。
そのようなURLの場合
//www.vevb.com:80/seo/?ver=1.0&id=6#imhere
JavaScriptでそのさまざまな部分を入手できます
1、window.location.href
URL文字列全体(ブラウザの完全なアドレスバー)
2、window.location.protocol
URLのプロトコル部分
この例は値を返します:http:
3、window.location.host
URLのホスト部分
この例の返品値:www.vevb.com
4、window.location.port
URLのポート部分
デフォルトの80ポートが使用されている場合(更新:80が追加されている場合)、返品値はデフォルト80ではなく空の文字です
この例は値を返します:「」
5、window.location.pathname
URLのパス部分(それはファイルアドレスです)
この例は値を返します: /seo /
6、window.location.search
クエリ(パラメーター)パーツ
動的言語に値を割り当てることに加えて、静的ページを提供し、JavaScriptを使用して、そうであると考えられているパラメーターの値を取得することもできます。
この例の返品値:?ver = 1.0&id = 6
7、window.location.hash
アンカーポイント
この例の返品値:#imhere