前兩天做了一個(gè)意見收集表單,測(cè)試提出問題如下:
1.空格回車不能正確顯示吹艇;(回車消失,空格變短)
2.建議為空也能提交昂拂;
首先解決空格回車不能正確顯示的問題受神,不同瀏覽器下textarea的回車符不一致:
IE瀏覽器:'\r\n';
FF瀏覽器,chrome瀏覽器:'\n';
空格符不同瀏覽器下都為:'\s';
但是在html中格侯,換行符為 '</br>'; 空格符為 '?'
因此我們需要將textarea中的 '\r\n' , '\n' , '\s' 進(jìn)行替換:
var getFormatCode = function(strValue){
return strValue.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');
}
var adviceText = getFormatCode($('#advice').val()); //將值進(jìn)行替換
其次解決建議為空也能提交的問題鼻听,本來(lái)我以為我對(duì)意見為空的情況作了判斷:
if (adviceText ==="" || adviceText===null){
alert("建議需求不能為空")
}
實(shí)際上這樣對(duì)輸入空格判斷無(wú)效,需要用正則表達(dá)式來(lái)判斷:
var input = /^[\s]*$/; //判斷空格
var getFormatCode = function(strValue){
return strValue.replace(/\r\n/g, '').replace(/\n/g, '').replace(/\s/g, ''); //將換行空格都轉(zhuǎn)換為html中的空格
}
var adviceText = getFormatCode($('#advice').val());
input.test(adviceText) //如若全為空格联四,值為true撑碴;
附上手機(jī)號(hào)碼以及電子郵箱的正則表達(dá)式:
var phone = /^1\d{10}$/; //首數(shù)字為1,總長(zhǎng)度為11位朝墩;test值為true表示格式正確醉拓;
var email = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;