Javascript 如何使用jQuery在每200个字符后插入换行符

Javascript 如何使用jQuery在每200个字符后插入换行符,javascript,jquery,Javascript,Jquery,我有一个文本框,用来插入一些信息。我想使用jQuery或JavaScript在每200个字符后插入一个换行符 例如: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaa

我有一个文本框,用来插入一些信息。我想使用jQuery或JavaScript在每200个字符后插入一个换行符

例如:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

在本例中,我想在每200个字符后插入一个换行符。如何执行此操作?

如果用户正在输入该文本,则可以执行以下操作:

  • 执行keydown事件,每当达到200计数时。。。插入新行字符并再次追加

  • 如果您是从数据库中获取的,在设置值之前,请读取该字符串并手动插入新行字符


  • 试试这个函数,它只是普通的javascript。它需要字符串和之后要中断的字符数

    function addBreaks(s,c) {
        var l = s.length;
        var i = 0;
        while (l > c) {
            l = l-c;
            i=i+c;
            s = s.substring(0,c)+"\n"+s.substring(c);
        }
        return s;
    }
    var a=' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
    
    addBreaks(a,200);
    

    每隔200个字符断开字符串,添加换行符,并对剩余字符串重复此过程:

    function addNewlines(str) {
      var result = '';
      while (str.length > 0) {
        result += str.substring(0, 200) + '\n';
        str = str.substring(200);
      }
      return result;
    }
    

    您只需要一行代码就可以做到这一点

    var newStr = str.replace(/.{200}/g, "$0\n")
    
    如果您想在每一行上都添加前缀或后缀,那么这种方法也很有效

    var newStr = str.replace(/.{200}/g, "prefix- $0 -postfix\n")
    

    为什么要这样做?可以通过提供更多选项和在开始新行时使用连字符来改进。看到我的改进,我非常好的一个班轮。干得好。
    str.replace(/.{200}/g,“$0\n”)
    也一样。很好!如果要避免将
    \n
    放在最后一个位置,该怎么办。假设是800个字母,你不想在800处换一行吗我找到了lodash
    trim
    来处理它..这对我来说不起作用,只有0美元。但事实确实如此<代码>str.replace(/({200})/g,“$1\n”)
    var newStr = str.replace(/.{200}/g, "prefix- $0 -postfix\n")