textarea正確顯示空格換行以及空格,回車問題解決

前兩天做了一個意見收集表單,測試提出問題如下:

1.空格回車不能正確顯示;(回車消失,空格變短)
2.建議為空也能提交;

首先解決空格回車不能正確顯示的問題,不同瀏覽器下textarea的回車符不一致:
IE瀏覽器:'\r\n';
FF瀏覽器,chrome瀏覽器:'\n';
空格符不同瀏覽器下都為:'\s';

但是在html中,換行符為 '</br>'; 空格符為 '?'
因此我們需要將textarea中的 '\r\n' , '\n' , '\s' 進行替換:

 var getFormatCode = function(strValue){
        return strValue.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, '&nbsp; ');
    }
var adviceText = getFormatCode($('#advice').val()); //將值進行替換

其次解決建議為空也能提交的問題,本來我以為我對意見為空的情況作了判斷:

if (adviceText ==="" || adviceText===null){
            alert("建議需求不能為空")
        }

實際上這樣對輸入空格判斷無效,需要用正則表達式來判斷:

var input  = /^[\s]*$/;    //判斷空格
var getFormatCode = function(strValue){
        return strValue.replace(/\r\n/g, '').replace(/\n/g, '').replace(/\s/g, '');            //將換行空格都轉換為html中的空格
    }
var adviceText = getFormatCode($('#advice').val());
input.test(adviceText)   //如若全為空格,值為true;

附上手機號碼以及電子郵箱的正則表達式:

var phone =  /^1\d{10}$/;  //首數字為1,總長度為11位;test值為true表示格式正確;
var email = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,524評論 9 467
  • 冰泡泡_5b2d閱讀 233評論 1 0
  • 你倔強著不告訴他你的行程,成功的阻止了他來車站接你,其實你也不快樂。 你餓著肚子在車上難受,午餐早就被當做早飯和室...
    林小落要長草閱讀 142評論 0 2
  • 今日,某球星出軌把我們的朋友圈,微博刷屏了。 其實不管有多少人出軌,我們依然應該給身邊的人足夠的信任,也許最后的結...
    行者_漂泊閱讀 159評論 0 0
  • 你與頭等艙的距離,差的不只是錢 思維導圖拆解圖 17.6.21后記: 自從參加訓練營已經過去幾個月了。其實我并沒有...
    易鴻Rain閱讀 149評論 1 1