zoukankan      html  css  js  c++  java
  • 汉字/英文字符长度判断JS版与Java方法版


    JS方法: 

    Js代码  收藏代码
    1. <script   language=javascript>  
    2. String.prototype.lenB   =   function(){return   this.replace(/[^\x00-\xff]/g, "**").length;}  
    3. var   str   =   "这是一个可以将汉字计算成两个字节的函数 ";  
    4. alert( "老的算法   =   "   +   str.length);  
    5. alert( "新的算法   =   "   +   str.lenB());  
    6. </script>   



    说明:上面JS里方法里的"**"表示把一个中文替换成英文的位数。"**"代表一个中文=两个英文 

    java方法: 

    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行。

  • 相关阅读:
    10.异常
    9.1 oop习题集合
    9.抽象类和接口
    8.oop-多态
    AngularJs学习笔记二
    浅谈如何坚持计划
    妙味课堂——JavaScript基础课程笔记
    前端学习-试卷
    jquery实战
    boost any
  • 原文地址:https://www.cnblogs.com/suifengbingzhu/p/2649681.html
Copyright © 2011-2022 走看看