Javascript中得到中英文混合字符串的长度
来源:互联网 发布:java 获取 时间 编辑:程序博客网 时间:2024/06/11 17:09
有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度。
用的是正则表达式。
var str = ”坦克是tank的音译”;
var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ;
我查了一下书,有点明白了:
西文常用字符集由空格“ ”(0x20)到“~”(0x7e)构成,汉字会落在这个字符集外,而正则表达式[^ -~]表示除空格到“~”外的字符集。
string.match(regex) 会以数组形式返回字符串string中匹配正则表达式regex的子串,所以,
str.match(/[^ -~]/g)会以数组的形式返回一个个汉字。例如
var str = "dd大哥";
//显示"大,哥",数组中返回两个汉字,数组长度为2
alert(str.match(/[^ -~]/g));
这样,var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ;就可以得到str的正确长度了。
在javascript中,一个汉字的长度也被计算为1,常常在提交到数据库中造成长度超标的错误,现在用这个方法,可以在提交前先检测一番了。
这个是去掉回车的字符长度的计算的方法
var noteLen = note.match(/[^/r|/n| -~]/g) == null ? note.replace(/[/r|/n]/g,"").length : note.replace(/[/r|/n]/g,"").length + note.match(/[^/r|/n| -~]/g).length ;
- Javascript中得到中英文混合字符串的长度
- Javascript中得到中英文混合字符串的长度
- Javascript中得到中英文混合字符串的长度
- Javascript中得到中英文混合字符串的长度
- Javascript中得到中英文混合字符串的长度
- ios中得到中英文混合字符串长度
- 得到中英文混合字符串长度
- 得到中英文混合字符串长度
- 得到中英文混合字符串长度
- javascript获取中英文混合字符串的长度方法
- 中英文混合字符串长度
- 计算中英文混合字符串的长度
- 计算中英文混合字符串的长度
- 计算中英文混合字符串的字节长度
- 判断字符串长度,中英文混合
- 计算中英文混合字符串长度
- javascript显示过长的中英文混合字符串
- ASP.NET 中计算中英文混合字符串长度
- 外国一段代码解决windows
- wintab开发例程
- javascript内实现trim的方法
- 精灵进程(daemon)编程规则
- javascript实现Session类
- Javascript中得到中英文混合字符串的长度
- Windows Service Pack 拦截工具
- 编个程序送女朋友
- 用JS获得当前页面详细地址
- 如何在用户注册或登录时使用验证码图片(转)
- Error creating bean ...No WebApplicationContext found
- Oracle 排序中常用的NULL值处理方法
- java面试题
- 网页刷新推荐-JS