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问题:
汉字和字符 数字 都算成一个截取长度?而不是根据字符?
中间有空格不能忽略。