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

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

因为中文字占两个字节,英文占一个字节。
方法1:把中文字替换成两个字母。然后计算长度。
方法2:直接判断中文,长度+2。

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

方法1:
var str = '2333哈哈';

var length=0;

str = str.replace(/[\u4e00-\u9fa5]/g,"aa");

alert(str);
alert(str.length);

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

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

方法2:
function getLength(str){

            var length=0;
            var reg = /[\u4e00-\u9fa5]/;
            for(var i=0;i

方法2中的函数

str.charAt(i) : 获取i位置的字符

扩展:

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

你可能感兴趣的:(js获取一个字符串的字节长度)