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

JavaScript011

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编码

HTML 中input标签有个类型是file。这个是可以上传文件使用的。你可以直接操作这个标签的size来获取文件的大小。

可通过下面的方式 

html代码: js代码:

var fileId = "uploadtest"

var dom = document.getElementById(fileId)  

var fileSize =  dom.files[0].size//文件的大小,单位为字节B