在jQuery / JavaScript

时间:2016-03-21 05:24:01

标签: javascript jquery html

我有一个用于用户输入的<textarea>字段。我要这个 - 当用户在该字段中粘贴文本并单击某个按钮时,它会在每行结束后自动添加换行符<br />
我的html表单看起来像这样。

&#13;
&#13;
<div class="comment">
    <textarea class="form-control page_details" rows="5" id="text" placeholder="Detail here" name="details"></textarea>
    <button type="button">Generate</button>
</div>
&#13;
&#13;
&#13;

当用户将文字粘贴到textarea字段上时,如。

  

Lorem ipsum dolor sit amet,
  consectetuer adipiscing elit,
  sed diam nonummy nibh euismod tincidunt
  ut laoreet dolore magna aliquam
  erat volutpat。

单击按钮时,它将如下所示。

  

Lorem ipsum dolor坐下,<br />
  consectetuer adipiscing elit,<br />
  sed diam nonummy nibh euismod tincidunt <br />
  ut laoreet dolore magna aliquam <br />
  erat volutpat。<br />

帮帮我们。

4 个答案:

答案 0 :(得分:4)

您可以将String.protototype.split()RegExp /\n|\s\n/Array.prototype.join()与参数"<br>\n"结合使用,将"<br>"连接到替换结束{{1} } textarea

&#13;
&#13;
value
&#13;
function addBreak(el) {
  var textarea = el;
  var matches = textarea.value.split(/\n|\s\n/);
  textarea.value = matches.join("<br>\n") + "<br>";
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用粘贴事件。

$("button").on("click",function(){
  $("#text").bind("paste", function(e){
    $('#txtarea').append('<BR>').focus();
  });
});
<div class="comment">
    <textarea class="form-control page_details" rows="5" id="text" placeholder="Detail here" name="details"></textarea>
    <button type="button">Generate</button>
</div>

答案 2 :(得分:0)

我通过处理\r\n(序列),然后通过字符类处理\r\n来覆盖我的赌注,如下所示:

text = text.replace(/\r\n/g, '<br />').replace(/[\r\n]/g, '<br />');

第一次替换将序列\r\n转换为<br />。第二个替换用字符串替换自己找到的任何\r\n个字符。

有关JavaScript here中正则表达式的更多信息。

答案 3 :(得分:0)

<br/>

替换换行符
var pastedText = $("#text").val();
pastedText = pastedText.replace(/(\r\n|\n|\r)/gm, "<br>");