js 字符截取 汉字2字符 英文1个字符

function countCharacters(str, num) {
  var str = '' + str || '',
    num = +num || 0,
    res = '',
    length = 0;
  if (!str || !num) {
    return str;
  }
  // 循环字符串,判断长度 最少也会返回一个字
  for (var i in str) {
    res += str[i];
    // 测试长度
    length += /[\u4e00-\u9fa5]/.test(str[i]) ? 2 : 1;
    // 如果长度大于设置长度 或者 循环到最后则终止循环
    if (length >= num || +i == str.length - 1) {
      break;
    }
  }
  return res;
}

 

猜你喜欢

转载自www.cnblogs.com/whyue/p/9122571.html