//点点点猎取字符串现实长度(汉字2,英文1,点占0.7)
function get_strlength(str) {
var len = 0;
if(str.match(/[^ -~]/g) == null) {
len = str.length;
} else {
len = str.length + str.match(/[^ -~]/g).length;
}
if (str.match(/\./g) != null){
len -= (str.match(/\./g).length * 0.3);
}
return len;
}
//点点点处理代码,maxLength是多行可放的最大英文字符数
function getDotMessage(str , maxLength) {
maxLength += (str.slice(0,maxLength).match(/\./g) != null ? str.slice(0,maxLength).match(/\./g).length : 0)*0.3;
var str1 = '',
endMaxLength = Math.floor(maxLength),
maxLen = Math.floor(maxLength);
if (get_strlength(str) >= maxLen){
str1 = str.slice(0);
while (get_strlength(str1) > endMaxLength){
str1 = str1.substring(0 , --maxLen);
}
return str1 + '...' ;
}else {
return str ;
}
}
能够自行调治maxLength举行适配!