原因:
常常在项目中遇到特殊的需求
在固定width的容器中,要去显示固定长度的文字,但有些名称过长或是中英文,
判断代码 (截取需要的长度,过长加省略号)
function stringSp(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;
}
if (strLength > len) {
newStr += "...";
}
return newStr;
}
var str = “abc张三”;
var str1 = stringSp(str,3) str1 =>”abc…”
var str2 = stringSp(str,5) str2 =>”abc张…”
var str3 = stringSp(str,7) str3 =>”abc张三”