<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    http://www.tkk7.com/ebecket 返還網(wǎng)
    隨筆-140  評論-11  文章-131  trackbacks-0
    從網(wǎng)上看到一些使用js獲取QueryString的方法,但用起來不是很理想,所以決定自己寫一個。主要原理是使用正則表達式匹配location.search中的字符串。

    三個主要方法:

    方法

    說明

    getQueryString

    獲取QueryString的數(shù)組。

    例如路徑QueryStringDemo.html?id=5&type=1&flag=0

    調(diào)用后返回["id=5", "type=1", "flag=0"]

    getQueryStringByName

    根據(jù)QueryString參數(shù)名稱獲取值

    getQueryStringByIndex

    根據(jù)QueryString參數(shù)索引獲取值

     

    //獲取QueryString的數(shù)組

    function getQueryString(){

         var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g")); 

         if(result == null){

             return "";

         }

         for(var i = 0; i < result.length; i++){

             result[i] = result[i].substring(1);

         }

         return result;

    }

    //根據(jù)QueryString參數(shù)名稱獲取值

    function getQueryStringByName(name){

         var result = location.search.match(new RegExp("[\?\&]" + name+ "=([^\&]+)","i"));

         if(result == null || result.length < 1){

             return "";

         }

         return result[1];

    }

    //根據(jù)QueryString參數(shù)索引獲取值

    function getQueryStringByIndex(index){

         if(index == null){

             return "";

         }

         var queryStringList = getQueryString();

         if (index >= queryStringList.length){

             return "";

         }

         var result = queryStringList[index];

         var startIndex = result.indexOf("=") + 1;

         result = result.substring(startIndex);

         return result;

    }

    測試頁面路徑:QueryStringDemo.html?id=5&type=1&flag=0

    頁面加載時:

    clip_image001

    QueryString's name后的文本框中輸入要獲取的QueryString的名稱獲取相應的值:

    clip_image002

    QueryString's index后的文本框中輸入要獲取的QueryString的索引獲取相應的值(索引從0開始):

    clip_image003

    這樣就可以在頁面中方便的獲取QueryString的值了。最后附上測試頁面QueryStringDemo.html的源代碼:

    <!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 content="text/html; charset=utf-8" http-equiv="Content-Type" />

    <title>QueryString獲取</title>

    <!--script type="text/javascript" src="CommonFiles/sunnycoder.js"></script-->

    <script type="text/javascript">

         //獲取QueryString的數(shù)組

         function getQueryString(){

             var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g"));

             for(var i = 0; i < result.length; i++){

                  result[i] = result[i].substring(1);

             }

             return result;

         }

         //根據(jù)QueryString參數(shù)名稱獲取值

         function getQueryStringByName(name){

             var result = location.search.match(new RegExp("[\?\&]" + name+ "=([^\&]+)","i"));

             if(result == null || result.length < 1){

                  return "";

             }

             return result[1];

         }

         //根據(jù)QueryString參數(shù)索引獲取值

         function getQueryStringByIndex(index){

             if(index == null){

                  return "";

             }

             var queryStringList = getQueryString();

             if (index >= queryStringList.length){

                  return "";

             }

             var result = queryStringList[index];

             var startIndex = result.indexOf("=") + 1;

             result = result.substring(startIndex);

             return result;

         }

         //綁定當控件高亮選中時,點擊回車鍵時執(zhí)行的操作

         //control:要綁定事件的控件

         //func:要執(zhí)行的方法

         function bindEnterEvent(control, func){

             control.onkeypress = function(){

                  if (event.keyCode == 13){

                       func();

                  }

             }

         }

         //根據(jù)輸入的QueryString名稱獲取值

         function getByName(){

             var name = document.getElementById("txtQueryStringName").value;

             document.getElementById("txtResult").innerHTML = getQueryStringByName(name);

         }

         //根據(jù)輸入的QueryString的索引獲取值

         function getByIndex(){

             var index = document.getElementById("txtQueryStringIndex").value;

             document.getElementById("txtResult").innerHTML = getQueryStringByIndex(index);

         }

    </script>

    </head>

     

    <body>

     

    <div>

         <span>QueryString : </span><span id="queryString"></span>

    </div>

    <div>

         <span>QueryString's name :&nbsp;</span>

         <input id="txtQueryStringName" name="txtQueryStringName" type="text" />

         <input name="btnGetByName" type="button" value="獲取" onclick="getByName()" />

    </div>

    <div>

         <span>QueryString's index : </span>

         <input id="txtQueryStringIndex" name="txtQueryStringIndex" type="text" />

         <input name="btnGetByIndex" type="button" value="獲取" onclick="getByIndex()" />

     

    </div>

    <div>

         <span>結果 :</span><span id="txtResult"></span>

    </div>

    <!--頁面加載時執(zhí)行的操作-->

    <script type="text/javascript">

         //顯示所有QueryString

         document.getElementById("queryString").innerHTML = getQueryString();

         //txtQueryStringName綁定回車事件

         bindEnterEvent(txtQueryStringName, getByName);

         //txtQueryStringIndex綁定回車事件

         bindEnterEvent(txtQueryStringIndex, getByIndex);

    </script>

    </body>

     

    </html>


    轉(zhuǎn)自
    http://www.cnblogs.com/sunnycoder/archive/2010/02/28/1674998.html
    posted on 2010-03-22 15:40 becket_zheng 閱讀(489) 評論(0)  編輯  收藏 所屬分類: 網(wǎng)頁web前端技術
    主站蜘蛛池模板: 亚洲国产午夜福利在线播放| 亚洲AV日韩AV永久无码色欲| 免费国产成人午夜电影| 日韩精品无码免费一区二区三区| 最新亚洲人成无码网www电影| 亚洲黄色免费电影| 亚洲色无码一区二区三区| 国产大片91精品免费看3| 国产91色综合久久免费| 日韩视频免费在线观看| 亚洲精品视频免费| 黄色三级三级免费看| 亚洲美国产亚洲AV| 亚洲AV色吊丝无码| 亚洲高清中文字幕| 亚洲AV日韩精品久久久久| 亚洲中文字幕无码永久在线| 国产免费av一区二区三区| 成年在线网站免费观看无广告| 最近高清中文字幕免费| 午夜不卡久久精品无码免费| 国产黄在线播放免费观看| 一级黄色免费大片| 色噜噜狠狠色综合免费视频 | 黄色毛片视频免费| 日韩欧美亚洲中文乱码| 亚洲国产一区二区三区在线观看| 亚洲国产福利精品一区二区| 亚洲视频在线不卡| 亚洲精品中文字幕麻豆| 久久精品亚洲一区二区三区浴池| 亚洲AV无码精品无码麻豆| 亚洲大尺度无码无码专区| 久久久影院亚洲精品| 亚洲成AV人片一区二区密柚| 亚洲人成网站在线播放vr| 亚洲国产精品一区二区成人片国内 | 亚洲黄黄黄网站在线观看| 免费人成年轻人电影| 亚洲精品国产va在线观看蜜芽| jjzz亚洲亚洲女人|