JS计算字符串的长度和字节长度

admin 发布于 JS/JQ

项目中往往需要计算字符串长度和字节长度,如计算用户名中带中文的长度,而利用length只能计算字符串长度,不能准确的计算字节长度。

计算字符串长度

var s = "String 类型长度";  //定义字符串
console.log(s.length);  //返回10个字符
利用length函数只能计算没有中文字字节长度

//方法一:逐个字符检查是否中文字符
String.prototype.getByteLen = function() {  
    var len = 0;  
    for (var i=0; i<this.length; i++) 
    {
        if ((this.charCodeAt(i) & 0xff00) != 0)
            len ++;
        len ++;  
    }  
    return len;  
}

//方法二:使用正则替换所有中文字符,然后再计算
getBLen = function(str) {
  if (str == null) return 0;
  if (typeof str != "string"){
    str += "";
  }
  return str.replace(/[^\x00-\xff]/g,"ab").length;
}

250浏览量 · 0评论 · 2019-10-09 09:28:20

全部评论  0

注册登录 进行评论

热门专题

更多专题