`
zpball
  • 浏览: 917009 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

汉字/英文字符长度判断--JS版与Java方法版

 
阅读更多
http://www.blogjava.net/loyalgl/archive/2010/12/15/340739.html
汉字/英文字符长度判断--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方法:

 /**
      * 获取字符串的长度,如果有中文,则每个中文字符计为2位
      *
      * @param value
      *            指定的字符串
      * @return 字符串的长度
      */
     public int chineseLength(String value) {
         int valueLength = 0;
         String chinese = "[\u0391-\uFFE5]";
         /* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */
         for (int i = 0; i < value.length(); i++) {
             /* 获取一个字符 */
             String temp = value.substring(i, i + 1);
             /* 判断是否为中文字符 */
             if (temp.matches(chinese)) {
                 /* 中文字符长度为2 */
                 valueLength += 2;
             } else {
                 /* 其他字符长度为1 */
                 valueLength += 1;
             }
         }
         return valueLength;
     }


说明:我想大家一看就懂了吧,关键语句是第18行。
分享到:
评论

相关推荐

    JAVA中汉字字符转化为英文字符

    ### JAVA中汉字字符转化为英文字符 #### 知识点概览 本文将详细介绍如何在Java中实现汉字到英文字符的转换。此技术主要用于提取汉字的首字母或进行其他基于字符编码的操作。通过以下两个核心方法:`toTureAsciiStr`...

    java 判断汉字 汉字的判断

    一种简单的方法是通过比较字符串的字节长度与字符长度来判断是否包含非ASCII字符(包括汉字): ```java public static boolean isChinese(String str) { if (str.getBytes().length == str.length()) { // 如果...

    js java 判断中文,英文的混合长度

    根据给定文件的信息,本文将围绕“JS与Java中判断字符串中文、英文混合长度的方法”这一主题进行深入探讨。文章将分别介绍JavaScript和Java中如何处理包含中文字符和英文字符的混合字符串,并计算其等效长度。 ### ...

    java中判断字段真实长度的实例(中文2个字符,英文1个字符)

    这个方法在处理中文字符串时,会将每个中文字符和英文字符都当作一个字符来计算,这会导致中文字符串的实际视觉长度与length()方法返回值之间的差异。 3. 实例中的String_length方法: 为了适应中文的视觉长度特点...

    字符串(汉字)长度判断

    针对Oracle数据库中汉字在不通的字符集下所占字符长度不通,在保存时可能需要对源字符串的长度进行判断。 实现过程如下 /** * 针对汉字 进行计算长度 * @param string 计算的字符串 * @param ...

    java字符串处理-中英文-非常有用的

    - 通过`charAt`方法获取每一个字符,并判断是否为中文字符(ASCII值大于255)。 - 对于中文字符,长度计数增加2;对于英文字符,长度计数增加1。 - 如果达到指定的起始位置或起始位置加1,则记录当前`...

    java判断中文字符串长度的简单实例

    3. 第三个方法`getLength(Strings)`尝试通过给中文字符长度为1,英文字符长度为0.5的处理方式来计算字符串长度。这里的处理思路是试图在长度计算上进行加权平均,使得计算结果能更好地反映字符串的视觉长度。但作者...

    java中截取带汉字的字符串

    ### Java中截取带汉字的字符串 在Java编程语言中,处理包含中文字符的字符串时,经常遇到的一个问题是如何正确地截取...通过以上方法,我们可以在Java中有效地处理包含中文字符的字符串截取问题,避免出现乱码等情况。

    Java编写的非常有用的方法,文字中提取中文字符

    本文将深入探讨两个关键知识点:如何从字符串中提取所有中文字符以及如何判断一个字符串是否为空白字符串。 首先,让我们关注“提取汉字”这个主题。在Java中,我们可以使用正则表达式和循环遍历的方式来实现这个...

    java字符串的各种编码转换

    - 支持更多的简体中文字符。 - **示例代码**: ```java public String toGBK(String str) throws UnsupportedEncodingException { return changeCharset(str, "GBK"); } ``` ### 字符编码转换方法 为了实现...

    Java中文字符处理.docx

    判断字符串中是否存在汉字可以采用多种方法,其中一种是通过比较字符串长度与字节长度。 **代码示例:** ```java String str = "java获取汉字Chinese的个数"; boolean result = (str.length() != str.getBytes()....

    判断字符串的长度(优化版)中文占两个字符

    例如,在JavaScript中,英文字符和一些标点符号默认占用1个字符长度,而中文字符则通常占用2个字符长度。因此,在计算字符串长度时,需要考虑到这种编码差异。 为了在JavaScript中计算一个字符串的长度,并且确保...

    关于java按字节截取带有汉字的字符串的解法

    在Java编程语言中,处理带有汉字的字符串时,由于汉字占据多个字节,按照字节进行截取可能会导致汉字被不完整地分割,从而产生乱码。为了解决这个问题,我们需要理解Unicode编码以及如何在Java中正确处理多字节字符...

    截取指定长度的字符串

    字符串在各种编程语言中都是基本的数据类型,如Python中的`str`,Java中的`String`,JavaScript中的`String`等。 截取字符串通常有两种主要方法:固定位置截取和指定长度截取。 1. 固定位置截取:这种方法通常基于...

    javascript 判断中文字符长度的函数代码

    JS的字符串都是string对象,可以用string对象的length属性可以获取其长度,但是无论是中文、全角符号以及英文最小长度单位都是1,这与php的strlen()并不相同。 代码如下: function strlen(str) { var s = 0; for(var...

    [待删除]字符串截取 - 中英文

    给定代码片段展示了一种自定义的字符串截取方法`getSubString()`,它考虑了中文字符的特殊性。该方法接受四个参数:原字符串`str`、起始位置`start`、截取长度`length`和额外的字符串`more`。其中,`more`参数用于当...

    java处理字符和字符串课件

    - **长度**:使用`length()`方法获取字符串长度。 ```java int len = str.length(); ``` - **子串**:使用`substring(int beginIndex)`或`substring(int beginIndex, int endIndex)`方法获取子串。 ```java ...

    正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度

    在处理文本数据时,尤其是在需要确保数据安全性与准确性的场合下,判断字符串中是否含有中文字符或全角字符是非常重要的。以下是一些关键知识点: #### 1. 正则表达式基础 正则表达式是一种强大的文本处理工具,...

    计算汉字笔画数java实现

    - 根据`byte`数组的长度判断字符类型(汉字、英文或未知字符)。 - 对于汉字,进一步提取高字节和低字节,然后通过查找表获取笔画数。 这部分的核心逻辑封装在`getStrokeCount`方法中,该方法有两重重载形式:一个...

    java中英文字符串截取

    例如,在UTF-8编码中,中文字符通常占用3个字节,而在GBK编码中,则可能占用2或4个字节。因此,在计算字符串长度时,必须考虑到实际的编码方式。 2. **字符与字节的区别**:在讨论字符串长度时,需要区分字符数和...

Global site tag (gtag.js) - Google Analytics