我有一个用于插入一些信息的文本框。我想使用jQuery或JavaScript在每200个字符后插入一个换行符。
例如:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
在这个例子中,我想在每200个字符后插入换行符。我怎么能这样做?
答案 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)
如果用户输入该文本,您可以执行以下操作:
实施keydown事件,每当您达到200个计数时...插入一个新行字符并再次追加。
如果您是从数据库获取的,请在设置值之前读取该字符串并手动插入新的行字符。
答案 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;
});