關於textare輸入回車和空格的數據庫存儲和讀取的問題

根據問題,查找了很多文章,最後做了一下總結。

關鍵知識點:正則表達式;js的replace函數


方法一

js創建了兩個函數:一個用來存儲數據時格式的轉換,一個用來顯示數據時格式的解析。

1.當存入數據庫時調用

function getFormatCode(strValue){
   return strValue.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');
}

2.當顯示數據時調用

function decryptCode(strValue){
   return strValue.replace(/<br\s*\/?>/ig,'\r\n').replace(/<br\s*\/?>/ig,'\n').replace(/\ \;/g,' ');
}

這兩種函數的調用,能夠完美的解決textare輸入空格和換行時的問題。


方法二

平時解決問題時候,都說能用css樣式或者html標籤解決的問題,絕對不用js去解決,通過網上總結和測試,又找到了一種很好的解決方案:

<pre><textarea></textarea></pre>

並且給pre標籤添加瀏覽器的兼容性:

 pre {
            white-space: pre-wrap;       !* css-3 *!
            white-space: -moz-pre-wrap;  !* Mozilla, since 1999 *!
            white-space: -pre-wrap;       !*Opera 4-6 *!
            white-space: -o-pre-wrap;    !* Opera 7 *!
            word-wrap: break-word;       !* Internet Explorer 5.5+ *!
            word-break:break-all;
            overflow:hidden;
     }



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章