js对textarea换行符的处理方案

33086次浏览

前言

本文很简单,就是记录一下js对textarea换行符的处理。

调试

随便写一个textarea

<textarea name="" id="textareaid" cols="30" rows="10"></textarea>

整个调试如下图:

enter image description here

发现: textareaid里面的换行符可以通过indexOf获取

textareaid.value.indexOf("\n")

但是直接通过正则全局替换没有效果(如上图)

textareaid.value.replace('/\n/g',';')

纠正

textareaid.value.replace(/\n/g,';')

上面多加了一对单引号。运行上面也是可以全局替换的:

textareaid.value.replace(/\n/g,';')
"haorooms换行符测试;haorooms换行符测试1;haorooms换行符测试2;haorooms换行符测试3;"

单个替换可以替换一个,因为没有全局替换:

textareaid.value.replace('\n',';')
"haorooms换行符测试;haorooms换行符测试1
haorooms换行符测试2
haorooms换行符测试3"
textareaid.value.replace('\n','<br/>')
"haorooms换行符测试<br/>haorooms换行符测试1
haorooms换行符测试2
haorooms换行符测试3"

enter image description here

全局替换方案

如上图运行,全局替换一般用如下代码:

textareaid.value.split("\n").join(";")

先分割成数组,然后再用你要替换的符号链接。

或者上面的正则

textareaid.value.replace(/\n/g,';')

小结

文章很短,发现很多网上的写法不是很对。把自己的调试过程,记录一下,分享给大家!

纠正 好丢人,之前随便调试的时候,正则加了引号,导致全局替换失败。现在发现,textarea 里面的回车就是"\n",可以用你想要的方式进行替换!

相关文章:

  1. RRR
    1
    textarea.value.replace(/\n/g, &#039;<br/>&#039;) ?