js 英文中文混截取 相同个数

function subString(str, n) {
  var r = /[^x00-xff]/g;
  var m;
  if (str.replace(r, '**').length > n) {
    m = Math.floor(n / 2);
    for (var i = m, l = str.length; i < l; i++) {
      if (str.substr(0, i).replace(r, '**').length >= n) {
        return str.substr(0, i) + '...';
      }
    }
  }
  return str;
}

subString(str, 162);

原文地址:https://www.cnblogs.com/xiaoyao181/p/8694578.html