在textarea中输入回车符 在js读取textarea中的值有\r\n然后到业务层转换到string中就有可能变成空格形式然后被存入数据库,当在取出此值的时候则会变成空格的形式,因此我们需要将不显示的\r\n替换一下。
在js取textarea的时候:
如果用
var str = document.getElementById("textarea").value;
str = str.replace("\r\n","<br>");
则只会将第一个\r\n替换成<br>,如何将所有n个\r\n替换成<br>呢?难道要无限个replace吗?
其实不用,replace可以和正则表达式结合,一次替换所有的\r\n。
var reg=new RegExp("\r\n","g");
str= str.replace(reg,"\r\n");
这样str中所有的\r\n就替换成<br>了.然后可以将其存入数据库。
在取出的时候 只用将值在替换回来即可
var reg=new RegExp("<br>","g");
stt= str.replace(reg,"\r\n");
document.getElementById("textarea").value=str;
更加详细的分析和应用可以参考JavaScript的replace方法与正则表达式结合应用讲解
下面是我写的2个函数 直接放到通用包中 以后使用可以替换
function replaceTextarea1(str){
var reg=new RegExp("\r\n","g");
var reg1=new RegExp(" ","g");
str = str.replace(reg,"<br>");
str = str.replace(reg1,"<p>");
return str;
}
function replaceTextarea2(str){
var reg=new RegExp("<br>","g");
var reg1=new RegExp("<p>","g");
str = str.replace(reg,"\r\n");
str = str.replace(reg1," ");
return str;
}
分享到:
相关推荐
当用户在`textarea`中按下回车键时,浏览器会将其识别为换行符(`\r\n`),这在JavaScript读取`textarea`的值时也会体现出来。然而,在后续的数据处理过程中,例如在业务逻辑层将这些值转换成字符串形式并存储到...
在JavaScript中,可以使用`trim()`、`replace()`等方法来去除`textarea`中的多余空格和回车。例如,以下代码会在用户提交表单时去除首尾空格和回车: ```javascript document.getElementById('myForm')....
默认情况下,当用户在`textarea`中按下回车键时,浏览器会插入一个`\n`(换行符)来表示新行。对于空格,连续的多个空格在HTML渲染时会被合并为一个空格。在后端处理或存储这些数据时,可能需要进一步的转换。 1. *...
为了在textarea中替换掉所有的回车和换行符,可以使用JavaScript的正则表达式配合`replace`方法。正则表达式中的`/g`标志表示全局匹配,意味着会替换掉所有符合条件的字符。对于`\n`或`\r\n`,可以分别用`/\n/g`和`/...
本文将深入探讨如何通过JavaScript处理`textarea`中的换行与空格问题,以实现更加友好的用户体验和数据管理。 ### 处理换行 在HTML中,`textarea`元素用于多行文本输入控件,它接受用户的自由格式文本输入。然而,...
总结起来,将`textarea`中的文本转换为HTML,以便保留回车换行,关键在于使用正则表达式或字符串的`Replace`方法替换换行符为` `标签。在处理跨平台的文本时,务必考虑`\r\n`和`\n`两种情况。正确实现这一功能,...
正则表达式在 JavaScript 中有着广泛的应用,不仅在 `replace()` 函数中,还可以在其他字符串函数如 `match()`、`search()` 和 `split()` 中。对于更复杂的文本处理需求,了解正则表达式的规则和用法是非常有益的。 ...
这里使用了正则表达式中的\r和\n来匹配可能存在的回车符(\r)和换行符(\n),确保各种操作系统环境下换行的兼容性。修饰符g保证全局替换,修饰符i保证正则表达式不区分大小写。 最后,文章提到使用alert()函数来显示...
当用户在`textarea`中输入文本时,他们可以按下回车键进行换行,这些换行在浏览器中通常会以` `标签的形式呈现,以便在页面上正确地显示文本。然而,对于数据的传递和存储,特别是当数据需要在不同的`textarea`...
6. **`replace()`方法**:`s.replace(//n|/r/g,"")`使用`replace()`方法,将文本中的所有回车符和换行符替换为空字符串(即删除它们)。第一个参数是正则表达式,第二个参数是替换后的字符串。 7. **更新文本域值**...
在IE中,换行通常是通过`\r\n`(回车+换行)来识别的,而在Firefox和大多数现代浏览器中,换行则是通过`\n`(换行)来识别的。当这些文本被显示在页面上而不是直接在`textarea` 中时,浏览器通常不会解析这些换行符...
在默认情况下,`<textarea>`中的文本在显示时不会自动换行,这意味着如果你想要在textarea中实现换行,需要使用特定的字符序列来指示新的行开始。 在文本编辑器或者邮件客户端中,我们通常使用`\n`(也称为LF,Line...
另外,`<textarea>`中的换行符通常为`\n`(新行),但这些换行符在显示时可能不会立即生效,除非在JavaScript中使用`innerHTML`或类似方法来更新textarea的内容,并且需要确保这些换行符在插入时能够被正确解析。...
其中,通过使用JavaScript中的正则表达式替换功能(`String.prototype.replace`),可以将输入文本中的所有换行符替换为` `标签。这样,当文本内容被动态显示在网页上时,` `标签会被浏览器识别为换行,从而...
1. `([\n\r])`:这部分表示匹配换行符,其中`\n`是换行符(LF),`\r`是回车符(CR),在Windows系统中,通常会用`\r\n`表示新行,而在Linux和Mac系统中则通常只使用`\n`。在正则表达式中,它们可以单独匹配一个换行...
在处理textarea多行输入框的情况时,当输入a[回车]b,Chrome和IE都会将回车符解释为换行符(\n),不过在IE中,HTML输出会将换行符表现为\r\n。这一行为差异反映了浏览器对回车符的解析差异。同时,该文档还提到了在...
1. 当用户在`<textarea>`中按下回车键换行时,文本框会自动增加一行的高度。 2. 当用户删除一行内容时,文本框的高度会相应地自动减少。 这个插件的实现依赖于jQuery库,因此需要在项目中引入jQuery。然而,作者...