1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function substringBytes(string, len) { if ((!string && typeof(string) !== 'undefined')) { return ''; } let num = 0; let value = ''; for (var i = 0,lens = string.length; i < lens; i++) { num += ((string.charCodeAt(i) > 255) ? 2 : 1); if (num > len) { break; } else { value = string.substring(0, i + 1); } } return value; }
substringBytes('测试字符串截取', 5);
|