js截取字符串包含中文

function subString( str, len, hasDot) {
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;
}

if ( hasDot && strLength > len) {
newStr += "...";
}
return newStr;
}

测试代码:

subString( tmpmodel, 4, false);
//中文算2个字符

你可能感兴趣的:(js截取字符串包含中文)