虚拟主机域名注册-常见问题 → JAVASCRIPT


JAVASCRIPT统计字符串长度 正确统计中文字符
作者:卡布奇诺

    在编写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



来源: 科宇网络-西部数码代理
阅读:2330
日期:2013-04-21

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:[分享]织梦DEDECMS 图集上传图片 提示302网页错误
下一篇:[FTP软件]使用flashfxp软件将文件上传到虚拟主机上
  >> 相关文章