1. 程式人生 > >js擷取中英文混合字串

js擷取中英文混合字串

function _sub(str,len) {
  var num = 0;
  for (i = 0; i < str.length; i++) {
    var a = str.charAt(i);
    if (/^[\u4e00-\u9fa5]+$/i.test(a)) {
      num += 2;
    } else {
      num += 1;
    }
    if (num == len) {
      return str.substring(0, i + 1);
    }
    if (num > len) {
      return str.substring(0, i);
    }
  }
}

_sub('ac你好asdfsdf',6);