function chang(str ,len) { function lenStat(str) { function isChinese(str) { //判斷是不是中文 var reCh = /[u00-uff]/; return !reCh.test(str); } var strlen = 0; //初始定義長度為0 var text = str.trim(); for(var i = 0; i < text.length; i++) { if(isChinese(text.charAt(i)) == true) { strlen = strlen + 2; //中文為2個字符 } else { strlen = strlen + 1; //英文一個字符 } } return strlen; } var strlen = lenStat(str); console.log(strlen); var strs = ''; for(var i = 0; i <strlen; i = i +len) { strs += str.substring(i, i + len) + "<br>"; } return strs; } chang(str,20); console.log(chang(str,20)); var sd = document.getElementById('sd'); sd.innerHTML =chang(str,20);
效果如下:
bug問題:
漢字和字符 數字 都算成一個截取長度?而不是根據字符?
中間有空格不能忽略。