`
kim
  • 浏览: 154084 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javascript 判断中文字符长度

阅读更多
js 代码
 
  1. <script language=< span="">"javascript">  
  2. String.prototype.gblen = function() {  
  3.     var len = 0;  
  4.     for (var i=0; i<this.length; i++) {  
  5.         if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {  
  6.             len += 2;  
  7.         } else {  
  8.             len ++;  
  9.         }  
  10.     }  
  11.     return len;  
  12. }  
  13. String.prototype.gbtrim = function(len, s) {  
  14.     var str = '';  
  15.     var sp  = s || '';  
  16.     var len2 = 0;  
  17.     for (var i=0; i<this.length; i++) {  
  18.         if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {  
  19.             len2 += 2;  
  20.         } else {  
  21.             len2 ++;  
  22.         }  
  23.     }  
  24.     if (len2 <= len) {  
  25.         return this;  
  26.     }  
  27.     len2 = 0;  
  28.     len  = (len > sp.length) ? len-sp.length: len;  
  29.     for (var i=0; i<this.length; i++) {  
  30.         if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {  
  31.             len2 += 2;  
  32.         } else {  
  33.             len2 ++;  
  34.         }  
  35.         if (len2 > len) {  
  36.             str += sp;  
  37.             break;  
  38.         }  
  39.         str += this.charAt(i);  
  40.     }  
  41.     return str;  
  42. }  
  43. var str1 = '世上最牛的@#%&们 世上最牛的@#%&们';  
  44. document.write('str1 = '+ str1 +'
    ');  
  45. document.write('length = '+ str1.gblen() +'
    ');  
  46. document.write('gbtrim(10) = '+ str1.gbtrim(10) +'
    ');  
  47. document.write('gbtrim(10, \'…\') = '+ str1.gbtrim(10, '…') +'
    ');  
  48. document.write('gbtrim(12, \'-\' ) = '+ str1.gbtrim(12, '-') +'
    ');  
  49.   
  50. // gbtrim(len 截取长度,按英文字节长度计算, s截取后的省略字符,如"…" )  
  51. // 备注: 这里中文字符都是当作两个长度来计算的,所以gbtrim中的len为10时,是显示最多5个汉字的。  
  52. // 当汉字数大于5时,由于截取后加上“…”,所以只显示4个汉字。  
  53. </script>  
分享到:
评论
1 楼 jimmy514 2008-08-17  
  不错不错

相关推荐

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

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

    C#和Javascript两种语法判断混合字符长度

    C#和Javascript两种语法判断混合字符长度,有利于Web程序开发避免存储字符串的错误

    JavaScript判断字符长度、数字、Email、电话等常用判断函数分享

    本文主要介绍了在JavaScript中实现几种常用数据验证的函数,包括判断字符长度、判断数字、判断是否为整数、判断Email地址和电话号码的有效性。通过直接给出实现代码的方式,方便有需要的朋友参考和使用。下面将详细...

    JavaScript截取中文字符串

    2. **判断字符类型**:使用正则表达式`/[^x00-\xff]/g`来判断当前字符是否为非ASCII字符(即中文或其他特殊字符)。如果是,则表示该字符需要占用两个字节的位置;反之,则占用一个字节的位置。 3. **累加长度并构建...

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

    判断是否存在中文和全角...0:aMatch.length) javascript 判断中文字符长度 一种: 代码如下: function _length(str){ var len=0; for(var i=0;i’~’){len+=2;}else{len++;} } return len; } 二种: 代码如下: String.

    javascript的到字符串字节长度

    然而,JavaScript中的字符串长度并不等同于字节长度,因为JavaScript字符串是基于Unicode编码的,每个字符可能占用1到4个字节不等。这与一些其他编程语言(如C或C++)中的字符串处理方式有所不同,在那些语言中,...

    截取指定长度的字符串

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

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

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

    验证字符长度

    以上示例展示了如何使用 JavaScript 实现对输入框中的字符长度进行验证,特别是考虑到了中文字符的特殊性。这种方法简单有效,可以应用于多种场景,如表单验证、数据输入限制等。此外,还可以进一步优化,例如增加更...

    js判断字符长度以及中英文数字等

    在使用JavaScript进行编程时,判断字符串中字符的长度以及区分中英文数字字符是一项常见的需求。在本教程中,我们将介绍如何使用JavaScript中的函数来实现这一功能,并且提供核心代码和使用实例。 首先,我们了解到...

    JavaScript常用判断函数

    该函数能够区分Unicode字符与非Unicode字符的长度差异,其中Unicode字符长度计为2,而非Unicode字符长度计为1。 **参数说明:** - `fData`: 需要计算长度的字符串数据。 - 返回值: 字符串的实际长度。 **实现原理...

    js判断字符长度及中英文数字等

    关于JavaScript判断字符长度及中英文数字等内容的知识点,主要围绕在编写代码时如何根据不同的字符集计算字符串的长度。由于不同字符占用的字节空间不同,传统的字符串长度判断方式并不适合于国际化需求,特别是在...

    JS判断字符串长度的5个方法(区分中文和英文)

    中文汉字由两个字节表示,而英文字符通常只占一个字节。以下五个方法可以帮助你实现这个功能,确保无论中文还是英文,都能准确计算出字符串的实际长度。 **方法一**: 这个方法通过遍历字符串,检查每个字符的字符...

    javaScript判定提交内容是否超过数据库长度

    示例函数getLength通过正则表达式替换了所有非ASCII字符(即Unicode编码范围在0x00到0xff之外的字符),假设这些字符是中文或其他双字节字符,替换后计算剩余字符串的长度,从而近似得出实际的字符长度。 具体实现...

    javascript常用判断函数

    函数通过遍历字符串的每个字符,判断其字符编码值是否在0到255的范围内,来确定字符长度。 接下来是`IsEmpty`函数,它的作用是判断一个变量是否为空。`IsEmpty`函数接受一个参数`fData`,并检查它是否为`null`或其...

    Javascript中字符串相关常用的使用方法总结

    - `startsWith(searchString[, position])` 和 `endsWith(searchString[, length])` 方法用于判断字符串是否以指定子字符串开始或结束。 ```javascript var s = 'Hello world!'; console.log(s.startsWith('...

    JS字符串长度判断,超出进行自动截取的实例(支持中文)

    在给定的文件中,作者提供了一个JavaScript的示例代码,展示了如何根据给定的长度限制,判断字符串长度,并进行自动截取,特别支持中文字符。以下是该示例代码中涉及的关键知识点和实现方法: 1. 字符串长度计算:...

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

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

Global site tag (gtag.js) - Google Analytics