【原】漢字/英文字符長度判斷--JS版與Java方法版

          我想我們大家都知道,好多數據庫中存儲中文漢字與英文的字節數是不同的。如果某個字段長度有固定大小,我們就需要對插入數據的大小進行校驗。之前做安邦電銷項目時就曾經遇到該類問題,現在將其前臺與后臺的校驗核心方法羅列出來,希望能對大家有所幫助

          JS方法:
          <script   language=javascript>
          String.prototype.lenB   
          =   function(){return   this.replace(/[^\x00-\xff]/g, "**").length;}
          var   str   =   "這是一個可以將漢字計算成兩個字節的函數 ";
          alert( 
          "老的算法   =   "   +   str.length);
          alert( 
          "新的算法   =   "   +   str.lenB());
          </script>
          說明:上面JS里方法里的"**"表示把一個中文替換成英文的位數。"**"代表一個中文=兩個英文

          java方法:
           1 /**
           2      * 獲取字符串的長度,如果有中文,則每個中文字符計為2位
           3      *
           4      * @param value
           5      *            指定的字符串
           6      * @return 字符串的長度
           7      */
           8     public int chineseLength(String value) {
           9         int valueLength = 0;
          10         String chinese = "[\u0391-\uFFE5]";
          11         /* 獲取字段值的長度,如果含中文字符,則每個中文字符長度為2,否則為1 */
          12         for (int i = 0; i < value.length(); i++) {
          13             /* 獲取一個字符 */
          14             String temp = value.substring(i, i + 1);
          15             /* 判斷是否為中文字符 */
          16             if (temp.matches(chinese)) {
          17                 /* 中文字符長度為2 */
          18                 valueLength += 2;
          19             } else {
          20                 /* 其他字符長度為1 */
          21                 valueLength += 1;
          22             }
          23         }
          24         return valueLength;
          25     }
          說明:我想大家一看就懂了吧,關鍵語句是第18行。




          posted on 2010-12-15 10:10 龍櫻 閱讀(2399) 評論(0)  編輯  收藏 所屬分類: 工具類

          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(13)

          隨筆檔案(13)

          文章分類(1)

          文章檔案(1)

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 常熟市| 青冈县| 晴隆县| 德安县| 上蔡县| 霞浦县| 江都市| 正安县| 墨江| 张家港市| 会东县| 永胜县| 中江县| 湘潭市| 淮南市| 醴陵市| 万年县| 鹤峰县| 印江| 资阳市| 县级市| 获嘉县| 延寿县| 固原市| 石林| 赤壁市| 泊头市| 宣汉县| 栾城县| 北海市| 宣化县| 丰顺县| 镇原县| 成安县| 九台市| 城口县| 观塘区| 黄山市| 上犹县| 仙居县| 大洼县|