javascript中使用正则计算中文长度的例子

 更新时间:2014年04月29日 10:42:41   作者:  
这篇文章主要介绍了javascript中使用正则计算中文长度的例子,需要的朋友可以参考下

由于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中的对象和原型(一)

    大家都知道在js中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。所以大家要了解面向对象,首先要了解js中的对象和原型,下面本文给大家介绍JavaScript中的对象和原型(一)知识,一起看下吧
    2016-08-08
  • js常用的继承--组合式继承

    js常用的继承--组合式继承

    本篇文章主要介绍了js常用的继承--组合式继承的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • javascript鼠标滑过显示二级菜单特效

    javascript鼠标滑过显示二级菜单特效

    这篇文章主要为大家详细介绍了javascript鼠标滑过显示二级菜单特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • javascript显式类型转换实例分析

    javascript显式类型转换实例分析

    这篇文章主要介绍了javascript显式类型转换,实例分析了javascript实现类型转换的常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 微信小程序switch组件使用详解

    微信小程序switch组件使用详解

    这篇文章主要为大家详细介绍了微信小程序switch组件的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • JavaScript实现点击单元格改变背景色的方法

    JavaScript实现点击单元格改变背景色的方法

    这篇文章主要介绍了JavaScript实现点击单元格改变背景色的方法,涉及JavaScript响应鼠标事件动态操作页面元素属性的相关技巧,需要的朋友可以参考下
    2016-02-02
  • AngularJS+Bootstrap实现多文件上传与管理

    AngularJS+Bootstrap实现多文件上传与管理

    这篇文章主要为大家详细介绍了AngularJS+Bootstrap实现多文件上传与管理,对上传文件进行加载与删除操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 深入理解JavaScript中的宏任务和微任务机制

    深入理解JavaScript中的宏任务和微任务机制

    JavaScript中的任务分为宏任务和微任务,它们的执行顺序会影响代码的执行结果。了解它们的机制可以帮助我们更好地理解事件循环和异步编程,避免出现一些意想不到的错误
    2023-05-05
  • bootstrap 弹出框modal添加垂直方向滚轴效果

    bootstrap 弹出框modal添加垂直方向滚轴效果

    这篇文章主要介绍了bootstrap 弹出框modal添加垂直方向滚轴效果,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • JavaScript 几种循环方式以及模块化的总结

    JavaScript 几种循环方式以及模块化的总结

    这篇文章主要介绍了JavaScript 几种循环方式以及模块化的的相关资料,帮助大家更好的理解和学习JavaScript,感兴趣的朋友可以了解下
    2020-09-09

最新评论