`
sunxboy
  • 浏览: 2869942 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

js中英文字符串长度 js中英文字符串截取(转)

阅读更多
摘要:我们在用程序处理文本的过程中,经常碰到中英文字符串的问题,比如说我们要得到文本编辑器中一段中英文混合文字的长度从而进行数据验证,有的时候我们为了实现某些特殊的效果需要对文字进行截取,这时候我们就用到了中英文混合文字的截取问题
我们分两步来看一下这个问题

js中英文字符串长度
因为一个中文字符=两个英文字符的长度,所以我们采用一个办法将一个汉字字符转化为两个字节的英文字符 实现代码如下

js 代码
  1. <script>          
  2. String.prototype.len=function()          
  3. {                 
  4. return     this.replace(/[^\x00-\xff]/g,"rr").length;          
  5. }         
  6. var     str="bdkey的字符串";          
  7. alert(str.len());   //5+8=13       
  8. </script>  
x00-\xff 代表非汉字编码
一个汉字代表两个字节,所以那样了,不过应该是
return this.replace(/[^\0xa1-\0xff]/g,"**").length;

运行示例程序会弹出一个对话框显示13

既然有了长度的判断 那么我们再来看一下中英文字符串截取的问题:
看下面一段程序:

js 代码
  1. String.prototype.sub = function(n) {    
  2. var r = /[^\x00-\xff]/g;    
  3. if(this.replace(r, "mm").length <= n) return this;   
  4. // n = n - 3;    
  5. var m = Math.floor(n/2);    
  6. for(var i=m; i<this.length; i++) {    
  7. if(this.substr(0, i).replace(r, "mm").length>=n) {    
  8. return this.substr(0, i) +"..."; }    
  9. return this;   
  10. };  
用法: var a = "gdfghrtfhrjtyjtukyukyk";a.sub(10);
上面的程序不难理解 这里不作解释了
分享到:
评论
1 楼 youjianbo_han_87 2011-08-25  
在FF6下面貌似不对啊。bdkey的字符串 弹出22个字符长度

相关推荐

    JavaScript截取中文字符串

    本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...

    js中英文混合的字符串换行

    //不分中英文按字符串长度循环每个字符截取换行 这个是隔10个字符换行一次 String psStr="asdfghjklzxcvbnmzxcvbnmsdfghaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb"; String aa=""; String bb=""; for (int i...

    javascript截取字符串(通过substring实现并支持中英文混合)

    本文将探讨在JavaScript中如何使用substring()和substr()方法截取字符串,并特别针对中英文混合的字符串提供解决方案。...本文提供的代码和方法可以帮助开发者解决在JavaScript中处理字符串截取时遇到的常见问题。

    js截取固定长度的中英文字符的简单实例

    在JavaScript中,处理中英文混合的字符串截取是一项常见的任务,尤其在网页开发中,比如显示摘要、控制输入长度等场景。由于JavaScript的内置方法`String.prototype.length`只能计算Unicode字符的数量,对于中文字符...

    C#区分中英文按照指定长度截取字符串的方法

    本文实例讲述了C#区分中英文按照指定长度截取字符串的.../// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度 /// /// 待截取的字符串 /// 需计算长度的字符串 /// &lt;returns&gt;string public static string G

    Js自动截取字符串长度,添加省略号(……)的实现方法

    总之,JavaScript中的字符串截取和处理是一项常见的任务,通过`cutString`函数,我们可以有效地控制字符串长度并添加省略号,以适应各种界面显示的需求。在实际应用中,我们可以根据具体需求调整和优化这个函数,以...

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

    1. 字符串长度计算:在JavaScript中,一个中文字符通常由三个字节组成,而英文字符只有一个字节。因此,需要一个函数来计算字符串的实际长度。这里的GetLength函数就扮演了这个角色,它通过遍历字符串中的每一个字符...

    js截取中英文字符串、标点符号无乱码示例解读

    首先,文章标题《js截取中英文字符串、标点符号无乱码示例解读》和描述《主要介绍了如何js截取中英文字符串、标点符号无乱码,需要的朋友可以参考下》为我们提供了关键信息:这篇文章将向我们展示如何使用JavaScript...

    字符串截取

    - **字符串截取**:指从原始字符串中提取出一部分作为新的字符串。 - **字节与字符**:在不同的编码方式下,一个字符可能占用不同的字节数。例如,在 UTF-8 编码下,英文字符通常占用 1 字节,而中文字符则占用 3 ...

    JS版获取字符串真实长度和取固定长度的字符串函数

    综上所述,通过理解和实现JavaScript中关于处理字符串长度的函数,可以有效地解决在Web开发中遇到的文本处理问题。正确地处理单字节和双字节字符,不仅可以提升程序的健壮性,还可以为用户提供更好的阅读体验。

    js限制textarea每行输入字符串长度的代码.docx

    在JavaScript中,对`textarea`元素进行输入字符串长度限制是一个常见的需求,特别是在处理用户输入时,需要确保数据格式的正确性。在HTML中,`textarea`控件不像`input[type="text"]`那样可以直接通过`maxlength`...

    JS按字节截取字符长度实例

    通过以上的知识点,我们可以了解到按字节截取字符串在JavaScript编程中是一个重要的应用场景,特别是在处理中文等多字节字符时,它能够保证字符串截取的正确性和准确性。提供的代码示例和方法对处理类似的字符串操作...

    JS判断字符串字节数并截取长度的方法

    总结上述内容,我们了解到在处理字符串长度时,特别是涉及多字节字符时,直接以字符长度作为限制条件可能会出现错误。正确的方法是首先将输入的字符串按照编码规则进行转换,计算出实际字节数,然后进行比较和截取...

    JS截取字符串常用方法详细整理

    在JavaScript中,字符串操作是日常开发中不可或缺的部分,而字符串的截取则是字符串操作中的基础功能。...在实际应用中,可以根据具体情况选择使用这些方法中的一种或多种组合,以达到预期的字符串截取效果。

    JS实现含有中文字符串的友好截取功能分析

    在没有特殊处理的情况下,如果要截取的字符串长度设定为5,使用`substr`方法截取英文字符串"***"时,结果是"12345",而对于中文字符串"一二三四五六七八九零",使用同样长度截取结果会变成"一二三四五",显然,中文...

    中文字符串截取的js函数代码

    以下是一个针对中文字符串截取的JS函数代码实现: 首先,我们需要一个计算字符串长度的函数,这个函数不仅要考虑英文字符,还要考虑中文字符。`strLen`函数通过遍历字符串的每个字符,如果字符的Unicode编码大于255...

    js中根据字数截取字符串,不能截断url.docx

    2. **截取字符串至指定字节数**:如果字符串长度超过指定字节数,则进行截取。 3. **截取字符串时保证 URL 的完整性**:在截取过程中检查是否包含 URL,并确保 URL 的完整性。 #### 实现细节 ##### 方法一:计算...

Global site tag (gtag.js) - Google Analytics