1. 程式人生 > >關於textare輸入回車和空格的資料庫儲存和讀取的問題

關於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;
     }