手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript中使用正则计算中文长度的例子
javascript中使用正则计算中文长度的例子
摘要:由于javascript是unicode编码的,所有的字符对于它来说一个就是一个,但是后台程序不是,通常在后台程序中一个中文是占两个字节的,...

由于javascript是unicode编码的,所有的字符对于它来说一个就是一个,但是后台程序不是,通常在后台程序中一个中文是占两个字节的,这就导致了前后端校验长度不一致,这个问题可以通过正则来解决。

复制代码 代码如下:

function getRealLen( str ) {

return str.replace(/[^x00-xff]/g, '__').length; //这个把所有双字节的都给匹配进去了

}

附赠另一小则技巧:

有时候为了美观,不影响布局和界面,会以一些文案进行截字,但是中文的宽度和英文的宽度不一样,如果按照英文标准来截中文的,或者按中文标准截英文的,显然会忽长忽短,特别是昵称这类容易既有中文又有英文的东西,同样我们可以用上面的思路

复制代码 代码如下:

function beautySub( str, len) {

var reg = /[u4e00-u9fa5]/g, //专业匹配中文

slice = str.substring(0,len),

realen = len - ( ~~( slice.match(reg) && slice.match(reg).length ) );

return slice.substring(0, realen ? realen : 1);

}

这里我们认为一个中文字符是两个英文字符的宽度,如果你是完美主义者,应该想到j和w,m的宽度是不一样的,w和m以及大写的部分字母和中文的宽度是一致的,这个函数的正则还有相当大的改进空间,同时也可以指定截字的起始位置。

【javascript中使用正则计算中文长度的例子】相关文章:

javascript无刷新评论实现方法

JavaScript中Number.MIN_VALUE属性的使用示例

JavaScript中的Math.SQRT1_2属性使用简介

javascript中动态函数用法

JavaScript正则表达式的分组匹配详解

javascript中clipboardData对象用法

javascript中DOM复选框选择用法实例

javascript中FOREACH数组方法使用示例

javascript动态创建链接的方法

js去除字符串里中文与空格的例子

精品推荐
分类导航