var sub=function(str,n){
var r=/[^\x00-\xff]/g;
if(str.replace(r,"mm").length<=n){return str;}
var m=Math.floor(n/2);
for(var i=m;i<str.length;i++){
if(str.substr(0,i).replace(r,"mm").length>=n){
return str.substr(0,i)+"...";
}
}
return str;
};
let text = sub('爱上对方就卡了asdaas两地分居卡拉斯科京东方哈伦裤涉及到合肥',23);
这样的话中文字符就会识别成两个字符,英文字符识别成为一个字符