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