按字节截取字符串

原文来自:snippets.barretlee.com,只是为了自己学习收集特意fork了一遍。如有侵权,联系删除:i@webcliwn.net
Author: 吕大豹
Email: 670818517(at)qq.com

按字节截取字符串,使用示例:subSt(‘我是中国人’, 4); //我是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function subSt(str, len){
var newLength = 0;
var newStr = "";
var chineseRegex = /[^\x00-\xff]/g;
var singleChar = "";
var strLength = str.replace(chineseRegex,"**").length;
for(var i = 0;i < strLength;i++) {
singleChar = str.charAt(i).toString();
if(singleChar.match(chineseRegex) != null) {
newLength += 2;
} else {
newLength++;
}
if(newLength > len) {
break;
}
newStr += singleChar;
}
return newStr;
}