原因:
常常在项目中遇到特殊的需求在固定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张三”