var messagetoSend = $.trim(document.getElementById("msgText").value);
messagetoSend = messagetoSend.replace("\n", "<br />");
alert(messagetoSend);
给定输入:
Line 1
Line 2
Line 3
此提醒:
Line 1<br />
Line 2
Line 3
当我希望它提醒时:
Line 1<br /><br /><br />Line 2<br /><br /><br /><br /><br />Line 3
答案 0 :(得分:154)
replace(/\n/g, "<br />");
这对我有用
<textarea id="x">
Line 1
Line 2
Line 3
</textarea>
<script>
var messagetoSend = document.getElementById('x').value.replace(/\n/g, "<br />");
alert(messagetoSend);
</script>
<强>更新强>
似乎这个问题的一些访问者的文本中包含了以
为单位的转义符一些文字 \ r \ n 多行“
在这种情况下,您需要转义斜杠:
replace(/\\r\\n/g, "<br />");
注意:渲染时,所有浏览器都会忽略字符串中的\r
。
答案 1 :(得分:70)
处理任何类型的换行符
str.replace(new RegExp('\r?\n','g'), '<br />');
答案 2 :(得分:7)
使用.replace()
的正则表达式。:
messagetoSend = messagetoSend.replace(/\n/g, "<br />");
如果这些换行符是通过Windows编码进行的,那么您还必须替换carriage return
。
messagetoSend = messagetoSend.replace(/\r\n/g, "<br />");