js计算字符串长度包含的中文是utf8格式

  方法一:

  

复制代码 代码如下:

  function byteLength(str) {

  var byteLen = 0, len = str.length;

  if( !str ) return 0;

  for( var i=0; i<len; i++ )

  byteLen += str.charCodeAt(i) > 255 ? 2 : 1;

  return byteLen;

  }

  说明:byteLength(str)

  参数:

  string str: 要计算字节长度的字符串(非ASCII的字符算2字节)

  方法二:

  JS获取字符串实际长度!

  今天又添加一个小东西!一个程序员经常要用到的字符串长度检测方法,由于JS原先的长度中文跟英文一样一个字符为1个长度。所以这里就得需要大家自己判断并获取字符串的实际长度了。

  

复制代码 代码如下:

  function GetLength(str) {

  ///<summary>获得字符串实际长度,中文2,英文1</summary>

  ///<param name="str">要获得长度的字符串</param>

  var realLength = 0, len = str.length, charCode = -1;

  for (var i = 0; i < len; i++) {

  charCode = str.charCodeAt(i);

  if (charCode >= 0 && charCode <= 128) realLength += 1;

  else realLength += 2;

  }

  return realLength;

  };

  执行代码:

  alert(GetLength('测试测试ceshiceshi));

  方法三: 暂时没有通过测试

  

复制代码 代码如下:

  function getByteLen(val) {

  var len = 0;

  for (var i = 0; i < val.length; i++) {

  if (val[i].match(/[\u4e00-\u9fa5 ]/ig) != null)

  len += 2;

  else

  len += 1;

  }

  return len;

  }

  方法四:

  GBK长度计算函数:

  

复制代码 代码如下:

  // GBK字符集实际长度计算

  function getStrLeng(str){

  var realLength = 0;

  var len = str.length;

  var charCode = -1;

  for(var i = 0; i < len; i++){

  charCode = str.charCodeAt(i);

  if (charCode >= 0 && charCode <= 128) {

  realLength += 1;

  }else{

  // 如果是中文则长度加2

  realLength += 2;

  }

  }

  return realLength;

  }

  UTF8长度计算函数:

  

复制代码 代码如下:

  // UTF8字符集实际长度计算

  function getStrLeng(str){

  var realLength = 0;

  var len = str.length;

  var charCode = -1;

  for(var i = 0; i < len; i++){

  charCode = str.charCodeAt(i);

  if (charCode >= 0 && charCode <= 128) {

  realLength += 1;

  }else{

  // 如果是中文则长度加3

  realLength += 3;

  }

  }

  return realLength;

  }