zoukankan      html  css  js  c++  java
  • js获取字符串字节数方法小结

    这篇文章主要介绍了js获取字符串字节数方法,实例总结了javascript字符串长度计算的相关技巧,需要的朋友可以参考下

    本文实例讲述了js获取字符串字节数的方法。分享给大家供大家参考。具体如下:

    大家都知道,获取字符串的长度可用length来获取,
    那么获取这段字符串的字节数呢?

    英文字母肯定lenght和字节数都一样:都是1
    而中文lenght=1,字节数=2
    因此,需要作的就是把中文字符的字节数计算出来。

    方法一:

    alert('a'.replace(/[^u0000-u00ff]/g,"aaa").length); 
    //原理:把中文字符替换成2个英文字母,那么字节数就是2,
    //示例中改成替换成3个英文字母了。
    //因此弹出的字节数是3,如果要正确的,当然是替换成2个字母了
    //u0000这个表示的是unicode编码

    方法二:

    var str='我我我';
    var bytesCount;
    for (var i = 0; i < str.length; i++)
    {
      var c = str.charAt(i);
      if (/^[u0000-u00ff]$/.test(c)) //匹配双字节
      {
      bytesCount += 1;
      }
      else
      {
      bytesCount += 2;
      }
    }
    alert(bytesCount);
    //结果是6
    //原理也很简单,用正则判断是不是中文,如果是的话,字节数就加1。

    匹配中文字符的正则表达式: [u4e00-u9fa5]

    匹配双字节字符(包括汉字在内):[^x0000-x00ff]

    可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

    JS中的几个函数:

    charAt(num) //获取字符串的num位置的字符
    charCodeAt(num)//获取字符串的num位置的字符的unicode编码 
    fromCharCode(num)//获取unicode编码对应的字符

    希望本文所述对大家的javascript程序设计有所帮助。

  • 相关阅读:
    js表单提交回调函数
    sublime text3下BracketHighlighter的配置方法
    不同版本的jquery的复选框checkbox的相关问题
    jquery键盘常见事件
    jQuery学习笔记(一)
    sublime text按esc经常进入command mode(不能输入任何东西)
    sublime text光标移入移出括号的快捷键设置
    sublime text3 自己定义的不同浏览器的预览快捷键
    grains和pillar的联合使用
    自定义模块和grains
  • 原文地址:https://www.cnblogs.com/wdlhao/p/5104702.html
Copyright © 2011-2022 走看看