我有一个用于用户输入的<textarea>
字段。我要这个 -
当用户在该字段中粘贴文本并单击某个按钮时,它会在每行结束后自动添加换行符<br />
。
我的html表单看起来像这样。
<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;
当用户将文字粘贴到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 />
帮帮我们。
答案 0 :(得分:4)
您可以将String.protototype.split()
与RegExp
/\n|\s\n/
,Array.prototype.join()
与参数"<br>\n"
结合使用,将"<br>"
连接到替换结束{{1} } textarea
value
&#13;
function addBreak(el) {
var textarea = el;
var matches = textarea.value.split(/\n|\s\n/);
textarea.value = matches.join("<br>\n") + "<br>";
}
&#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>");