javascript 限制字符串字数换行 带BUG

 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问题:

汉字和字符  数字 都算成一个截取长度?而不是根据字符?

中间有空格不能忽略。

原文地址:https://www.cnblogs.com/h5monkey/p/5891070.html