js擷取指定字串長度程式碼區分中英文

螞蟻小編發表於2017-03-16

擷取指定長度的字串是比較常用的操作,但是有一個稍稍需要注意的問題,漢字和英文字元所佔位元組長度是不一樣的,一個英文字元佔一個位元組,而一個漢字則是佔兩個位元組,下面就分享一段能夠區分中英文字元的程式碼。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
function cutstr(str,len){
  var str_length = 0;
  var str_len = 0;
  str_cut = new String();
  str_len = str.length;
  for(var i = 0;i<str_len;i++){
    a = str.charAt(i);
    str_length++;
    if(escape(a).length > 4){
      str_length++;
    }
    str_cut = str_cut.concat(a);
    if(str_length>=len){
      str_cut = str_cut.concat("...");
      return str_cut;
    }
  }
  if(str_length<len){
    return  str;
  }
}

相關文章