字符串截取(支持中英文混合)

/**
 截取字符串(通过substring实现并支持中英文混合)
 @param str
 @param n 需要截取的长度
 @returns {*}
 */
function sub(str,n){
  var r = /[^\x00-\xff]/g;
  if(str.replace(r,"**").length <= n){
    return str;
  }
  var m = Math.floor(n/2);
  for(var i = m;i < str.length;i++){
    if(str.substr(0,i).replace(r,"**").length >= n){
      return str.substr(0,i)+"...";
    }
  }
  return str;
}

参考文档:

  1. JS 截取字符串(支持中英文混合)
  2. JS实现中英文混合文字溢出友好截取功能

你可能感兴趣的:(js,javascript)