//判断字符串长度的方法(中文2个字符,英文1个字符)
// export function getCharCodeLength(str:any) {
// const len = [...str].reduce((pre, cur) => {
// return pre + (cur.charCodeAt() > 255 ? 2 : 1);
// }, 0);
// return len;
// }
//判断字符串长度的方法(中文2个字符,英文1个字符)
export function getCharCodeLength(str:any,len:number){
let str_length = 0;
let str_len = 0;
let str_cut = new String();
str_len = str.length;
for(let i = 0;i<str_len;i++){
let a = str.charAt(i);
str_length++;
if(escape(a).length > 4){
//中文字符的长度经编码之后大于4
str_length++;
}
str_cut = str_cut.concat(a);
if(str_length>=len){
//达到目标长度,即为字符串加上省略号并返回
str_cut = str_cut.concat("...");
return str_cut;
}
}
//如果字符串长度小于需要裁切的长度,直接返回
if(str_length<len){
return str;
}
}