含中英文字符的字符串的截取編碼
function cutstr(str,len) { var str_length = 0; var str_len = 0; str_cut = new String(); str_len = str.length; for(var i = 0;i < str_len;i++) { a = str.charAt(i); str_length++; if(escape(a).length > 4)//已編碼的 string 的副本。其中某些字符被替換成了十六進制的轉義序列。 { //中文字符的長度經編碼以後大於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; } } alert(cutstr("寶寶xinliku",10));
效果圖code