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

js中英文字符串长度 js中英文字符串截取

阅读更多

转自:http://sunxboy.iteye.com/blog/131684

 

关键字: javascript/截取

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

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);
上面的程序不难理解 这里不作解释了
分享到:
评论

相关推荐

    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截取中英文字符串、标点符号无乱码示例解读

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

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

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

    字符串截取

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics