有关js中replace问题与textarea回车符问题
在textarea中输入回车符
在js读取textarea中的值有\r\n然后到业务层转换到string中就有可能变成空格形式然后被存入数据库,当在取出此值的时候则会变成空格的形式,因此我们需要将不显示的\r\n替换一下。
在js取textarea的时候:
如果用
str = str.replace("\r\n","<br>");
则只会将第一个\r\n替换成<br>,如何将所有n个\r\n替换成<br>呢?
难道要无限个replace吗?其实不用,replace可以和正则表达式结合,一次替换所有的\r\n。
str= str.replace(reg,"\r\n");
这样str中所有的\r\n就替换成<br>了.然后可以将其存入数据库。
在取出的时候 只用将值在替换回来即可
stt= str.replace(reg,"\r\n");
document.getElementById("textarea").value=str;
以下是二个自定义的函数,可以直接放到通用包中,以后使用替换就行了。
<script language="javascript">
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;
}
</script>
您可能感兴趣的文章:
有关js中replace问题与textarea回车符问题
php表单中转换textarea换行符的方法
php过滤或替换textarea换行回车\r\n的2种方法
asp.net Textbox控件注册回车事件与触发按钮提交事件的实现方法
php获取textarea的值,并处理回车(换行)
JS过滤url参数中的特殊字符
js中replace与replaceall进行字符替换的用法举例
JS特殊字符转义基础
jQuery textarea plugin
解决Base64.encodeBase64String换行回车问题