快速登录:  
用户名:
密 码:

JAVASCRIPT统计字符串长度 正确统计中文字符

作者:卡布奇诺 栏目:编程代码 日期:2013-05-23 21:58 浏览:

[摘要]在编写 javascript 验证的时候,有时候我们需要将中文字符当成2个字符来判断,而 javascript 默认会将中文当成一个字符! 比如,我们需要取得我今年18岁这个字符串的长度,直接用 javascript : script varstr= 我今年18岁 ; document.write(str.length); //

    在编写javascript验证的时候,有时候我们需要将中文字符当成2个字符来判断,而javascript默认会将中文当成一个字符!

    比如,我们需要取得"我今年18岁"这个字符串的长度,直接用javascript

    <script>

      var str = '我今年18岁';

      document.write(str.length);   //打印结果是 6

    </script>

    而我们需要获得的长度,实际是需要把中文按照两个字符处理的话,理论上结果应该是 10才对,这个时候,我们需要使用javascript里面的正则表达式来进行匹配,代码如下:

    <script>

    function cLength(str){

      //匹配非中文的正则表达式

      var reg = /[^\u4E00-\u9FA5\uf900-\ufa2d]/g;

      var temp = str.replace(reg,'');

      return parseInt(temp.length)+parseInt(str.length);

    }

    var str="我今年18岁";

    document.write(cLength(str));  //打印结果 10

    </script> 

    原理:

    总长度 = 中文字符*2 + 普通字符*1

    首先将非中文字符去掉获得长度即中文的长度(按1个字符长度),然后再加上字符串的长度(中文也是取1个字符长度),加起来就是我们所需要的结果!上面的逻辑可能稍微有点难理解,但是当你理顺了,其实是非常简单的,呵呵!欢迎大家和我交流JS方面的东西,西部数码代理客服-彭:QQ275400726

本文由 科宇网络 (西部数码/华夏名网核心代理商) 发表于2013年05月23日,欢迎交流!
转载本文章请注明出处:http://www.keyu800.net/info/code/code/7.html
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
您的大名: 网址: 验证码: 点击我更换图片
下一篇:没有了 上一篇:没有了
栏目列表
文章搜索
推荐文章
CNNIC四星级注册服务机构证书营业执照网上警察 联系在线客服科宇网络-西部数码核心代理商官方QQ有问必答
《中华人民共和国增值电信业务经营许可证》编号:B2-20080058号