`
sunxboy
  • 浏览: 2828171 次
  • 性别: 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个字符长度

相关推荐

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

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

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

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

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

    下面是自己写的一个简单的函数,用于截取固定长度的字符串,中英文都适用.若有不妥之处还请高手指正

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

    有时在显示某段文字的时候,可能会太长...而汉字是占用2个字节的,如果用String.substring(start, end)截取字符串的话,会发现汉字截取后比英文截取后个数虽然相同,但是长度还是长出去不少(具体要视字符个数来决定)

    检测含有中文字符串的实际长度

    我们在实际过程中要经常去检测含有中文字符串的实际长度, 因为中文字符,和英文字符在一起的话.判断起来你麻烦点. 原理跟在asp中的一样.逐个去判断.是中文加2英文加1. 代码如下:ASCIIEncoding n = new ...

    JS实现中英文混合文字溢出友好截取功能

    在显示字符串的时候,避免字符串过长往往会对字符串进行截取操作,通常会用到js的 substr 或者 substring方法, 以及 字符串的length属性 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 ...

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    1、原生JavaScript实现字符串长度截取 2、原生JavaScript获取域名主机 3、原生JavaScript清除空格 4、原生JavaScript替换全部 5、原生JavaScript转义html标签 6、原生JavaScript还原html标签 7、原生JavaScript时间...

    js随机生成字母数字组合的字符串 随机动画数字

    最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串。 方法一 奇妙的写法 Math.random().toString(36).substr(2); 输出结果 解释 很有意思,研究了一下,基本上to

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    截取字符串中两个特定唯一字符之间的内容 截取指定长度字符串 折线图 按照比例改变图片大小(非生成缩略图) 收藏主页 数据验证类 数组转换成XML格式 日期计算 是否为电子邮件格式 柱形统计图 检查是否为一...

    php数据操作类mydb.php,跳转类redir.php,上传文件类upfile,常用的一些验证类

    数据库操作类 把添加,删除,修改,单独查看,分页查看表的所有操作...chy.php 常用的功能内,一些字符串的判断符合手机,电话,email,等的正则,字符串的长度,截取等包含中英文混合的处理 ************** 以后会继续丰富这些类

    ASP200问.EXE

    18.如何计算中英文混合字符串的长度 19.如何判断字符串是否以指定字符串开头或结尾 20.如何判断字符是否是英文字符 21.如何检测字符串出现的次数 22.如何过滤字符串中的HTML代码 23.如何截取字符串 24.如何实现字符...

    PHP开发实战1200例源码

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    javascript入门笔记

    Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 - NodeJS 2、嵌入在浏览器中的JS解释器 JS的发展史: 1、1992年 Nombas 开发...

    BIWEB WMS PHP开源企业建站系统 v5.8.5.rar

    在check类中新增去除HTML格式截取指定长度的字符串函数substring。 20.smarty升级到2.6.26版本。 21.修改了底层的getRoueList可以按照路由取回类型ID和TITLE。 22.修改了底层共享内存模块针对PHP5.3以上版本的错误...

    文章管理系统

    完善 字符串长度截取函数 5.改进前台底部友情链接间隔符 6.纠正留言和评论提交成功后会弹出验证码的BUG 7.纠正会员注册计算是否允许再次注册时出现页面错误BUG 8.纠正其他几个小细节 2012年04月17日 1.后台...

    vc++ 开发实例源码包

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

Global site tag (gtag.js) - Google Analytics