paulwong

          Javascript 篇 之 擴展String 函數

          /**
           * @brief  擴展原生字符串 
           
          */


          var StringEx = 

              
          /**
               * @brief 去除字符串前后空格
               
          */

              trim : 
          function()
              
          {
                  
          return this.replace(/(^\s*)|(\s*$)/g, "");
              }
          ,
              
              
          /**
               * @brief 去除左邊空格
               
          */

              ltrim : 
          function()
              

                  
          return this.replace(/(^\s*)/g, ""); 
              }
          ,
              
              
          /**
               * @brief 去除右邊空格
               
          */

              rtrim : 
          function()
              

                  
          return this.replace(/(\s*$)/g, "");      
              }
          ,
              
              
          /**
               * @brief 避免XSS 攻擊
               
          */

              avoidXSS : 
          function()
              
          {
                  
          var strTemp = this.replace(/&/g, "&");
                  strTemp 
          = strTemp.replace(/</g, "&lt;");
                  strTemp 
          = strTemp.replace(/>/g, "&gt;");
                  strTemp 
          = strTemp.replace(/\"/g, "&quot;");
                  return strTemp;    
              } ,
              
              /**
               * @brief 獲取字符串的字節長度 漢字默認雙字節
               */
              byteLength : function()
              {
                    return this.replace(/[^\x00-\xff]/g,
          "**").length;
              },
              
              /**
               * @brief     除去HTML標簽
               * @example    <div id=
          "test1">aaaa</div>  =>  aaaa 
               */
              removeHTML : function()
              {
                  return this.replace(/<\/?[^>]+>/gi, '');
              },
              
              /**
               * @brief      格式化字符串
               * @example 
          "<div>{0}</div>{1}".format(txt0,txt1)
               */
              format : function()
              {
                  var args = [];
                  
                  for (var i = 0, il = arguments.length; i < il; i++)
                  {
                      args.push(arguments[i]);
                  }
                  
                  return this.replace(/\{(\d+)\}/g, function(m, i)
                  {
                      return args[i];
                  });
              },
              
              /**
               * @brief 字符串轉數字
               */
              toInt : function() 
              {
                  return Math.floor(this);
              }    
          }


          for (var it in StringEx) 
          {
              String.prototype[it] = StringEx[it];
          }


          test:


              var strTest = "   -{0}這里是擴展原生字符串test{1}- ";
                      
                      alert(strTest.length);                 
          // output : 26
                      alert(strTest.ltrim().length);      // 23
                      alert(strTest.rtrim().length);      // 25
                      
                      alert(strTest.byteLength());        
          // 36
                      
                      alert(strTest.format(
          "abc","def")); //   -abc這里是擴展原生字符串testdef- 
                      
                      
          var strNumber = "89989";
                      
                      alert(
          typeof strNumber.toInt());    // number
                      
                      
          var domTest = document.getElementById("test1").outerHTML;
                      
                      alert(domTest);
                      
                      alert(domTest.avoidXSS());
                      alert(domTest.removeHTML());


          下載 string.js 及  demo 

          posted on 2010-03-25 00:38 paulwong 閱讀(385) 評論(0)  編輯  收藏 所屬分類: DHTML

          主站蜘蛛池模板: 东阿县| 谢通门县| 高台县| 孙吴县| 孟州市| 尼玛县| 蕉岭县| 宜章县| 乌鲁木齐市| 六盘水市| 寿宁县| 罗江县| 凤冈县| 绩溪县| 平原县| 宣恩县| 玉林市| 广州市| 潼南县| 广元市| 万安县| 北票市| 土默特右旗| 黄山市| 青河县| 涿州市| 海口市| 江阴市| 丹棱县| 额尔古纳市| 斗六市| 太康县| 棋牌| 宁乡县| 正镶白旗| 定陶县| 汨罗市| 潼关县| 漾濞| 高碑店市| 凤凰县|