js中的replace問題和textarea回車符問題

在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,"<br>");
這樣str中所有的/r/n就替換成<br>了.然後可以將其存入數據庫。

在取出的時候 只用將值在替換回來即可
var reg=new RegExp("<br>","g");
stt
= str.replace(reg,"/r/n");
document.getElementById(
"textarea").value=str;



下面是我寫的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;
}

 

發佈了5 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章