JavaScript替换\ n与<br/>

时间:2011-02-22 09:42:51

标签: javascript regex replace

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

3 个答案:

答案 0 :(得分:154)

global matching

需要/ g

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 />");