Jquery 如何在文本区域中自动添加换行符?

Jquery 如何在文本区域中自动添加换行符?,jquery,html,Jquery,Html,我有一个文本区域不是很宽。我想当用户输入文本时,如果一行有50个字符,就会出现换行符。我不想要任何包装文本。只是换行。有没有办法做到这一点 我试着在一行上测试一些基本的东西,但失败了 $('#textarea').keypress(function (e) { if ($(this).val().length == 50) { $(this).val()[51] == '\n' } }) 我显然不是很有经验。我不知道是否应该开始查看regExp对象 我不能允许包装文本,因为我需要测量t

我有一个文本区域不是很宽。我想当用户输入文本时,如果一行有50个字符,就会出现换行符。我不想要任何包装文本。只是换行。有没有办法做到这一点

我试着在一行上测试一些基本的东西,但失败了

$('#textarea').keypress(function (e) {
if ($(this).val().length == 50) {
    $(this).val()[51] == '\n'
}
})
我显然不是很有经验。我不知道是否应该开始查看regExp对象

我不能允许包装文本,因为我需要测量textarea的每行内容。用户提交表单后,我需要能够使用以下内容:

var line = $('#textarea').val().split('\n');
for(i = 0; i < line.length; i++){
    // do something
}
var line=$('#textarea').val().split('\n');
对于(i=0;i
您可以使用
%
查看长度和倍数是否为50,并在末尾添加\n

试试这个。演示:

试一试


当然可以。请向我们展示您的尝试。您应该在后端执行此操作,并在前端直观地包装文本(我认为这是默认的)。感谢您的建议。“但我怎样才能让每一行都适用呢?”努比更新了我的答案。您必须使用
%
查看长度和倍数是否为50,并在末尾添加
\n
。非常感谢。效果很好。这也很好,但不是在第一行。谢谢你的帮助。
if ($(this).val().length % 50 == 0) {
    $(this).val($(this).val() + '\n);
}
$("textarea").keyup(function(e) {
    var $this = $(this);
    var length = $this.val().length;
    if(length % 50 == 0) {
        $this.val($this.val() + "\n");   
    }
});
$('textarea').keypress(function () {
  var length = $(this).val().length;
  if (length % 51 == 0 &&
      length > 0) {
    var val = $(this).val();
    $(this).val(val + '\n');
  }
});