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

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

中间有空格不能忽略。

时间: 2024-10-24 01:18:13

javascript 限制字符串字数换行 带BUG的相关文章

javascript中字符串和数组的相互转换

javascript中字符串和数组的相互转换:字符串和数组的相互转换操作是非常的重要的,因为在实际编码过程中会经常用到,所以这是必须要掌握的知识点,当然这个知识点并不难,知道了就永远知道了,并不是那种需要充分实践才能够掌握的东西,下面就做一下简单的介绍.一.字符串转换为数组:此操作会用到split()函数,它能够以指定的字符作为分隔符,将字符串转换成一个数组,实例代码如下: var Str="abc-mng-zhang-mayi"; var newArray=Str.split(&qu

初探JavaScript(三)——JS带我碰壁带我飞

已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScript Dom 编程艺术>(ps:看过书评,网友对其褒贬不一,个人感觉还是不错的,适合初学者.不是每本书都能得到所有读者的认可,只能让部分适合的读者对其称赞,而我,就是其中一个). 前面介绍了JavaScript的一些常用方法,如何与DOM.HTML配合完成一些交互.今天主要介绍JavaScript在动画效

JavaScript中字符串截取substring/substr/slice方法总结

最近整前台总多多少少遇到一些字符串截取的小问题,忍不住仔细看了下.接下来总结一下javascript中字符串截取方法的一些应用经验和区别.看了其他博主也有写到,各有风格况且只是个人随记,自己体会的才最深刻. 一些看似简单深究又大有文章的东西弄懂了你才知道自己所学甚浅,部分内容是w3cSchool原文,然后增加了自己的总结和见解.看完有兴趣的也可以去官网查看. 以下为总结: var str = "0123456789"; //此字符串为上下文举例用 一.stringObject.subs

javascript将字符串转成方法名

根据其他画面传入的回调方法名,在自己的画面上去调用该方法. 这是带参数的方法定义: function call_back(funName, result) {     this.func = function(result){};     this.func = eval(funName);} 不带参数的方法定义: function call_back(funName) {     this.func = function(){};     this.func = eval(funName);}

javascript模板字符串(反引号)

模板字面量 是允许嵌入表达式的字符串字面量. 你可以使用多行字符串和字符串插值功能.它们在ES2015规范的先前版本中被称为“模板字符串”. 语法 `string text`?`string text line 1 string text line 2`?`string text ${expression} string text`?tag `string text ${expression} string text` 描述 模板字符串使用反引号 () 来代替普通字符串中的用双引号和单引号.模板

javascript中字符串对象常用的方法和属性

前言 字符串是一种非常重要的数据类型,在Java等面向对象编程语言中,它代表对象类型,而在javascript中它却是一种基本数据类型,在开发的领域中,我们经常会碰到,无论是前端还是后台.比如后台验证手机号码,将手机号码的后四位变成*,这些都是对字符串的处理.所以学会字符串中常用的属性和方法是非常必要的,本篇博客将带你解析字符串常用的属性和方法.那么一起来看看吧! 字符串常用的属性和方法 属性 length:返回字符串的长度 方法 chatAt():返回在指定位置的字符 charCodeAt()

Javascript 解析字符串生成 XML DOM 对象。

Javascript 接收字符串生成 XML DOM 对象.实测对 Firefox .IE6 有效.可用于解析 ajax 的服务器响应结果,也可用于解析自定义字符串.?1. [代码]函数   ppt模版  /** * Parses DOM from XML text.<br /> *  * @author Typhoon.Free.Wolf * @version 2014-02-28_15-51 * @param blDebugFlag *      - Debug flag: true, f

JavaScript替换字符串中最后一个字符

1.问题背景 在一个输入框中,限制字符串长度为12位.利用键盘输入一个数字,会将字符串中最后一位替换,比方:111111111111.再输入一个3,会显示111111111113 2.详细实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x

javascript slice字符串切片函数

javascript中我们可以通过slice函数获取字符串的任意部分, slice函数需要传入两个参数 p1 和 p2. p1指定子字符串的开始位置,p2指定要截取字符串的长度. 注意:javascript中第一个字符的位置为0. 第一个范例我们希望截取主字符串的从0开始的10个字符,所以我们可以使用 slice(0,10) javascript中我们可以通过slice函数获取字符串的任意部分, slice函数需要传入两个参数 p1 和 p2. p1指定子字符串的开始位置,p2指定要截取字符串的