js对textarea换行符的处理方案
前言
本文很简单,就是记录一下js对textarea换行符的处理。
调试
随便写一个textarea
<textarea name="" cols="30" rows="10"></textarea>
整个调试如下图:

发现:
textareaid里面的换行符可以通过indexOf获取
textareaid.value.indexOf("\n")
但是直接通过正则全局替换没有效果(如上图)
textareaid.value.replace('/\n/g',';')
纠正
textareaid.value.replace(/\n/g,';')
上面多加了一对单引号。运行上面也是可以全局替换的:
textareaid.value.replace(/\n/g,';')
"炫H5换行符测试;炫H5换行符测试1;炫H5换行符测试2;炫H5换行符测试3;"
单个替换可以替换一个,因为没有全局替换:
textareaid.value.replace('\n',';')
"炫H5换行符测试;炫H5换行符测试1
炫H5换行符测试2
炫H5换行符测试3"
textareaid.value.replace('\n','<br/>')
"炫H5换行符测试<br/>炫H5换行符测试1
炫H5换行符测试2
炫H5换行符测试3"

全局替换方案
如上图运行,全局替换一般用如下代码:
textareaid.value.split("\n").join(";")
先分割成数组,然后再用你要替换的符号链接。
或者上面的正则
textareaid.value.replace(/\n/g,';')
小结
文章很短,发现很多网上的写法不是很对。把自己的调试过程,记录一下,分享给大家!
纠正
好丢人,之前随便调试的时候,正则加了引号,导致全局替换失败。现在发现,textarea 里面的回车就是"\n",可以用你想要的方式进行替换!