Javascript 如何将\n替换为<;br/>;不影响其他标签?

Javascript 如何将\n替换为<;br/>;不影响其他标签?,javascript,Javascript,我有一个包含\n和其他HTML标记的HTML文本区域。例如, 我需要在不影响任何其他嵌入html标记的情况下替换\n 我尝试了下面的解决方案,但它删除了其他标签的结束括号 这:myTextArea.value.replace(/[\n]/g,) 给我这个:你好,世界 试着把n+: .replace(/(\n+)/g, '<br />'); 。替换(/(\n+)/g,); 实际上,您也需要删除/r: message.replace(/(\r)/g, '').replace(/(\

我有一个包含\n和其他HTML标记的HTML文本区域。例如,

我需要在不影响任何其他嵌入html标记的情况下替换
\n

我尝试了下面的解决方案,但它删除了其他标签的结束括号

这:
myTextArea.value.replace(/[\n]/g,

给我这个:
你好,世界 试着把n+:

.replace(/(\n+)/g, '<br />');
。替换(/(\n+)/g,
);
实际上,您也需要删除/r:

 message.replace(/(\r)/g, '').replace(/(\n+)/g, '<br/>');
message.replace(/(\r)/g')。replace(/(\n+)/g');

不应该是这种情况,除非您有带换行符的标记,否则以下操作将有效:
myTextArea.value.replace(/\n/g,
但请记住,这将返回一个新字符串,您需要将其分配给变量,例如:
myTextArea.value=myTextArea.value.replace(/\n/g,
我为您制作了一个测试用例:
'hello\nworld\n!'。replace(/\n/g,
)===“你好
世界
!”
不需要捕获组,也不需要两个replace调用,只需使用零次或一次性元字符(
):
消息。使用
+
(重复一次或多次)替换(/\r?\n/g,
)将更改输出:
”\n\n\n\n\n.replace(/\g,
)====“
,而:
”\n\n\n.替换(/\n/g,
)==”