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
グローバルマッチング には/ gが必要です
replace(/\n/g, "<br />");
これは\n
で機能します-\r\n
がある場合は この回答 を参照してください
注:The dupe は、\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>
UPDATE
この質問の訪問者の中には、ブレークラインがエスケープされたテキストを持っているようです
いくつかのテキスト\ r\n複数行にわたって」
その場合、スラッシュをエスケープする必要があります。
replace(/\\r\\n/g, "<br />");
注:すべてのブラウザは、レンダリング時に文字列内の\r
を無視します。
どちらのタイプの改行も処理します
str.replace(new RegExp('\r?\n','g'), '<br />');
.replace()
。に正規表現を使用します。
messagetoSend = messagetoSend.replace(/\n/g, "<br />");
これらの改行がwindows-encodingによって行われた場合、carriage return
も置き換える必要があります。
messagetoSend = messagetoSend.replace(/\r\n/g, "<br />");