Подтвердить что ты не робот

JavaScript заменить \n на <br/">

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
4b9b3361

Ответ 1

Вам нужен/г для глобального сопоставления

replace(/\n/g, "<br/>");

Это работает для меня \n - посмотрите этот ответ, если у вас есть \r\n

ПРИМЕЧАНИЕ . Дупе - наиболее полный ответ для любой комбинации \r\n, \r или \n

var messagetoSend = document.getElementById('x').value.replace(/\n/g, "<br />");
console.log(messagetoSend);
<textarea id="x" rows="9">
    Line 1
    
    
    Line 2
    
    
    
    
    Line 3
</textarea>

Ответ 2

Обрабатывает любой тип разрыва строки

str.replace(new RegExp('\r?\n','g'), '<br />');

Ответ 3

Используйте регулярное выражение для .replace().:

messagetoSend = messagetoSend.replace(/\n/g, "<br />");

Если эти строки были сделаны с помощью кодирования Windows, вам также придется заменить carriage return.

messagetoSend = messagetoSend.replace(/\r\n/g, "<br />");