關於textare輸入回車和空格的資料庫儲存和讀取的問題
阿新 • • 發佈:2019-02-04
根據問題,查找了很多文章,最後做了一下總結。
關鍵知識點:正則表示式;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; }