js获取一个字符串的字节长度

JavaScript09

js获取一个字符串的字节长度,第1张

因为中文字占两个字节,英文占一个字节。

方法1:把中文字替换成两个字母。然后计算长度。

方法2:直接判断中文,长度+2。

运用的方法大同小异。都是通过正则表达式,写unicode编码。

方法1中

[\u4e00-\u9fa5]:匹配中文字符

[^\x0000-\x00ff]:匹配双字节字符(包括中文字)

正则表达示 /[\u4e00-\u9fa5]/g 的 g 必须要,global,全部都要检查的意思。没有的话输出的是(2333aa哈)

方法2中的函数

扩展:

方法一:

alert('a'.replace(/[^\u0000-\u00ff]/g,"aaa").length)

//原理:把中文字符替换成2个英文字母,那么字节数就是2,

//示例中改成替换成3个英文字母了。

//因此弹出的字节数是3,如果要正确的,当然是替换成2个字母了

//\u0000这个表示的是unicode编码