js獲得URL超連結的參數值

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   java   sp   div   art   

/**  * 擷取指定URL的參數值  * @param url指定的URL地址  * @param name參數名稱  * @return參數值  */ function getUrlParam(url,name){     var pattern = new RegExp("[?&]"+name+"\=([^&]+)", "g");     var matcher = pattern.exec(url);     var items = null;     if(null != matcher){             try{items = decodeURIComponent(decodeURIComponent(matcher[1]));             }catch(e){                     try{                             items = decodeURIComponent(matcher[1]);                     }catch(e){                             items = matcher[1];                     }             }     }     return items;}


當前URL:location.href

前一頁面的URL:document.referrer

擷取當前URL中參數name的值:getUrlParam(location.href,"name");

擷取前一頁面URL中參數name的值:getUrlParam(document.referrer,"name");

但是這種方式只能擷取=後的一個值,如果有這樣的URL:aaa.jsp?info=name=1;sex=2,對於這個URL,用上面的方法擷取到的info的值是name,而實際上我需要擷取到的是name=1;sex=2。

道理都一樣,變換一下,用下面的方法:

/** * 擷取當前URL參數值 * @param name參數名稱 * @return參數值 */function getUrlParam(name) {   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");   var r = window.location.search.substr(1).match(reg);   if (r!=null)    return unescape(r[2]);    return null;   }

用這個得到的就是:name=1;sex=2

 

js獲得URL超連結的參數值

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.