js中的replace问题和textarea回车符问题

Posted on 2008-07-22 09:14 泰坦 阅读(1569) 评论(5)  编辑  收藏
    在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;
}

Feedback

# re: js中的replace问题和textarea回车符问题  回复  更多评论   

2008-07-22 10:28 by HiMagic!
保险起见,\r和\n分别替换。实际上js的replace第一个参数应该是正则表达式。

# 我需要换行  回复  更多评论   

2008-07-22 12:01 by 44you
对数据库中的数据,有个格式的那种,比如tab,\n之类的,我是想把他按原格式展示出来的,可惜经过中间的默认转换,自动的取消了格式,找个时间再去研究一下

# re: js中的replace问题和textarea回车符问题  回复  更多评论   

2008-07-22 15:48 by f
你好<br>fdsjfsd<br> dsjfsdl
dfjdf
<br>fsdf<br>

# re: js中的replace问题和textarea回车符问题[未登录]  回复  更多评论   

2008-08-08 11:53 by 啊啊
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555666666666666666666666666666

# 强文,顶一下  回复  更多评论   

2008-09-26 16:23 by digu
强文,顶一下

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-22 10:26 编辑过
 
 

相关链接:
网站导航:

posts - 15, comments - 8, trackbacks - 0, articles - 0

Copyright © 泰坦