オブジェクトに解析するURL文字列

A.  JavaScriptが機能parseURLを(URL)、オブジェクトを解析されるURL文字列の部分を実装します。

例えば:

parseURLを( "http://www.xiyanghui.com/product/list?id=123456&sort=discount#title");

結果に戻ります

{ 
    プロトコル: "HTTP"、
    ホスト: "www.xiyanghui.com"、
    パス"/製品/リスト"、
    クエリ:{ 
        ID: "123456"、
        ソート: "割引" 
    }、
    ハッシュ: "タイトル" 
}

  

/ ** 
     * 
     * @param {*}検索a.search 
     * / 
    関数parseParams(検索){ 
        VARのRET = {}; 
        VaRのsearchArr = []; 
        searchArr = search.replace(/ ^ \ /、 '?').split( '&'); 
        (LET I = 0; I <searchArr.length; iは++)のために{ 
            IF(searchArr [I]){ 
                せquerys = searchArr [I] .split( '=')。
                console.log(querys)。
                RET [querys [0] =のquerys [1]。
            } 
        } 
        戻りRET。
    } 
    / ** 
     *通过创建标签の
     *の@param {*} URL 
     * / 
    関数parseURLを(URL){
        するvar A =のdocument.createElement( 'A'); 
        a.href = URL; 
        リターン({ 
            プロトコル:a.protocol、
            ホスト名:a.hostname、
            ポート:a.port、
            検索:a.search、
            paramsは:parseParams(a.search)、
            ハッシュ:a.hash.replace( '#'、 '' )、
            パス:a.pathname、
        })
    } 
    VARレスト= parseURLを( "http://www.xiyanghui.com/product/list?id=123456&sort=discount#title")。
    console.log(残り)。
    / ** 
     *通过新しいURL 
     * @param {*}のURL 
     * / 
    // IE12及以上兼容
    関数parseUrlBynewUrl(URL){
        VaRのURL =新しいURL(URL); 
        リターン({ 
            プロトコル:url.protocol、
            ホスト名:url.hostname、
            ポート:url.port、
            検索:url.search、
            paramsは:parseParams(url.search)、
            ハッシュ:url.hash.replace( '#'、 '')、
            パス:url.pathname、
        } )
    } 
    VAR restt = parseUrlBynewUrl( "http://www.xiyanghui.com/product/list?id=123456&sort=discount#title")。
    console.log(restt)。
}

 

おすすめ

転載: www.cnblogs.com/LinSL/p/11118697.html