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

时间:2010-12-01 05:34:14

标签: javascript jquery

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

例如:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

在这个例子中,我想在每200个字符后插入换行符。我怎么能这样做?

6 个答案:

答案 0 :(得分:18)

在每200个字符后断开字符串,添加换行符,并使用剩余的字符串重复此过程:

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

答案 1 :(得分:17)

你可以这样做只是一行代码。

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

如果你想在每一行上都有前缀或后缀

,那么效果很好
var newStr = str.replace(/.{200}/g, "prefix- $0 -postfix\n")

答案 2 :(得分:2)

尝试此功能它只是普通的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);

答案 3 :(得分:1)

答案 4 :(得分:1)

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

  1. 实施keydown事件,每当您达到200个计数时...插入一个新行字符并再次追加。

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

答案 5 :(得分:1)

 $("#text").keyup(function()//Detect keypress in the textarea
    {
        var text_area_box =$(this).val();//Get the values in the textarea
        var max_numb_of_words = 200;//Set the Maximum Number of chars
        var main = text_area_box.length*100;//Multiply the lenght on words x 100

        var value= (main / max_numb_of_words);//Divide it by the Max numb of words previously declared

        if(text_area_box.length >= max_numb_of_words) {
            //add break
        }
        return false;
        });