You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符串中的\n替换为HTML换行标签<br>?

解决文本输入框换行符转HTML<br>标签的问题

问题分析

你遇到的核心问题是两种替换方法都没正确匹配到换行符\n:

  • 方法1:若代码逻辑无其他疏漏,大概率是修改数组后没有正确重新拼接为字符串;且这种遍历方式效率偏低。
  • 方法2:正则表达式使用错误——你把正则写成了字符串"/\n/g",JavaScript会将其当作普通文本匹配,自然找不到对应的换行符。

正确解决方案

方案1:使用正则字面量(推荐)

直接用正则表达式字面量替换所有换行符,这是最简洁高效的方式:

let test = "da\nda";
console.log(test);
// 用正则字面量替换所有\n为<br>
test = test.replace(/\n/g, "<br>");
console.log(test);

执行后输出符合预期:

da
da
da<br>da

方案2:修复遍历替换的逻辑

如果坚持用遍历数组的方式,需确保正确拼接修改后的数组:

let s = "da\nda";
// 拆分为字符数组
const charArr = s.split('');
// 遍历替换换行符
for (let i = 0; i < charArr.length; i++) {
  if (charArr[i] === '\n') {
    charArr[i] = '<br>';
  }
}
// 重新拼接为字符串
s = charArr.join('');
console.log(s); // 输出 da<br>da

额外提示:兼容Windows换行符(\r\n)

如果用户输入可能包含Windows系统的换行符\r\n,可以把正则改成同时匹配两种换行格式:

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

内容的提问来源于stack exchange,提问作者Thedoczek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:32:16