关于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;
     }



猜你喜欢

转载自blog.csdn.net/qq_35221138/article/details/80458475