javascript擷取URL參數與參數值的範例程式碼

來源:互聯網
上載者:User

 本篇文章主要是對javascript擷取URL參數與參數值的範例程式碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所協助

 代碼如下:<script>                  function goto_url(url){                      var new_url = "http://shop.usteel.com/index.php?app=list_release";                      var d_date  = getParameter("date",url);                      if(d_date != '' ){                          new_url += "&"+d_date;                      }                      var species  = getParameter("species",url);                      if(species != ''){                          new_url += "&"+species;                      }                       window.open(new_url);                   }                  //javascript擷取指定參數及其對應的值                    function getParameter(paraStr, url)                    {                        var result = "";                        //擷取URL中全部參數列表資料                        var str = "&" + url.split("?")[1];                        var paraName = paraStr + "=";                        //判斷要擷取的參數是否存在                        if(str.indexOf("&"+paraName)!=-1)                        {                            //如果要擷取的參數到結尾是否還包含“&”                            if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)                            {                                //得到要擷取的參數到結尾的字串                                var TmpStr=str.substring(str.indexOf(paraName),str.length);                                //截取從參數開始到最近的“&”出現位置間的字元                                result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));                              }                            else                            {                                  result=str.substring(str.indexOf(paraName),str.length);                              }                        }                          else                        {                              result="";                          }                          return (result.replace("&",""));                      }                    </script> 下面例子很完整 經測試 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">      <html xmlns="http://www.w3.org/1999/xhtml">      <head>      <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />      <title>javascript擷取URL參數和參數值</title>      <script type="text/javascript">      <!--      var url = "http://www.baidu.com/?age=25&k=1&site=asp&abc=123;"       //javascript擷取指定參數及其對應的值      function getParameter(paraStr, url)      {          var result = "";          //擷取URL中全部參數列表資料          var str = "&" + url.split("?")[1];          var paraName = paraStr + "=";          //判斷要擷取的參數是否存在          if(str.indexOf("&"+paraName)!=-1)          {              //如果要擷取的參數到結尾是否還包含“&”              if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)              {                  //得到要擷取的參數到結尾的字串                  var TmpStr=str.substring(str.indexOf(paraName),str.length);                  //截取從參數開始到最近的“&”出現位置間的字元                  result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));                }              else              {                    result=str.substring(str.indexOf(paraName),str.length);                }          }            else          {                result="無此參數";            }            return (result.replace("&",""));        }       //調用方法:var 變數名 = getParameter("要擷取的參數名", URL地址)      var r = getParameter("age",url);       //測試輸出,結果是:site=popasp      alert(r);      //根據得到的結果可以使用      var pName = r.split("=")[0]; //擷取參數名      var pValue = r.split("=")[1]; //擷取參數值       //測試輸出:      alert("參數名:" + pName + "nn" + "參數值:" + pValue);       //其他實際應用:      //可以根據需要,配合以下方法實現自己要實現的功能;      //var hostname = location.hostname; //擷取當前網域名稱(不包含http://)      //var localurl = location.href;   //擷取當前完整的URL地址資訊(包含http://,網域名稱,路徑,具體檔案和全部傳遞參數)      //var referurl = document.referrer; //擷取上一頁完整的URL資訊(包含http://,網域名稱,路徑,具體檔案和全部傳遞參數)       //-->      </script>      </head>       <body>      </body>      </html>   
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.