經常遇到頁面中各種“中文字符”和其他“字符”無法判斷長度,導致截取不利,先下面用這個js實現,中文字符截斷:
function _substring(str, len){
var vlen=0, i=0, extDot="";for(;i<str.length;i++){
if(vlen>=len){
extDot = "...";
break;
}else{
if(str.charCodeAt(i)<27||str.charCodeAt(i)>126) {//全角
vlen+=2;
}else{
vlen++;
}
}
}
return str.substring(0, i)+extDot;;
}
function processTitle(a, len){
var text=a.innerHTML;
a.innerHTML=_substring(text, len);
}
$("dd.mod_bd a").each(function(){
processTitle(this, 40);//要求中文字符爲20個,超出部分截取用“...”代替
});