首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中将\n替换为<br />?

如何在JavaScript中将\n替换为<br />?
EN

Stack Overflow用户
提问于 2011-06-13 22:38:23
回答 11查看 52.7K关注 0票数 21

我有一个文本区,当用户按回车键时,我在其中插入\n。此文本区域中的代码通过jQuery.ajax()发送到WCF服务。我无法将\n保存在数据库中,因为它不会显示在使用该服务的其他应用程序中。

\n如何使用<br /> tag替换?

解决方案

你们中的许多人都尝试过,有些人使用带有/g (全局修饰符)的Javascript Regex是正确的。最后我插入了\n两次,我不知道为什么,我唯一的猜测是jQuery on keypress事件创建了双\n,我调试了它。

代码语言:javascript
复制
$('#input').keypress(function (event) {
    if (event.which == '13') {
        inputText = $('#input').val() + '\n';
        $('#input').val(inputText);
    }
});
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2011-06-13 22:43:46

替换为全局作用域

代码语言:javascript
复制
$('#input').val().replace(/\n/g, "<br />")

代码语言:javascript
复制
$('#input').val().replace("\n", "<br />", "g")
票数 34
EN

Stack Overflow用户

发布于 2011-06-13 22:42:10

可以这样做:

代码语言:javascript
复制
$('textarea').val().replace(/\n/g, "<br />");

编辑:对不起...javascript中的正则表达式不应加引号。

working example

票数 12
EN

Stack Overflow用户

发布于 2011-06-13 22:43:42

就像在评论和其他答案中所说的,最好是在服务器端做。

然而,如果你想知道如何在客户端做到这一点,这是一个简单的修复方法:

代码语言:javascript
复制
textareaContent.replace(/\\n/g, "<br />");

其中textareaContent是包含文本区中数据的变量。

编辑:更改为全局替换,而不仅仅是第一个匹配。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6331895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档