工作需要,暫時要告別javascript 。趁這段時間不是特別忙,將一些javascript 技術(shù)總結(jié)下。

          /**
           * @brief  擴展原生字符串 
           * @author hechangmin@gmail.com
           
          */

          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 獲取字符串的字節(jié)長度 漢字默認雙字節(jié)
               */
              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 字符串轉(zhuǎn)數(shù)字
               */
              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());


          可能 avoidXSS 部分由于blog 有 xss 處理,所以看不全。建議下載源代碼和 demo 試試。

          下載 string.js 及  demo 


          posted on 2010-03-23 20:31 -274°C 閱讀(3763) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914066
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 安岳县| 新沂市| 海口市| 林西县| 洛南县| 元江| 县级市| 阜宁县| 镇康县| 永修县| 沂南县| 黑河市| 安仁县| 册亨县| 北京市| 商南县| 邓州市| 资阳市| 太原市| 辽源市| 连南| 曲靖市| 玉溪市| 长寿区| 灵宝市| 昆山市| 南开区| 六盘水市| 开封县| 中山市| 仙游县| 博客| 电白县| 丰镇市| 滨州市| 太仆寺旗| 乐陵市| 巴楚县| 保定市| 文成县| 太白县|