4
我目前正在開發一個程序。我被指示使用正則表達式和jQuery來處理格式化日期輸入。有問題,我決定運行這個測試代碼:日期與RegExp不匹配,雖然格式正確
function formatDate() {
var regEx = /^(0[1-9]|1[012])[\/](0[1-9]|[12][0-9]|3[01])[\/](19|20)\d\d$/;
var test = "02/20/1901";
var obj = $('.format');
var febRexEx = /^(02)[\/](3[01])[\/](19|20)\d\d$/;
if (test == regEx) {
alert("Matches Regular Expression 1.");
if (test == febRexEx) {
alert("Bad date!\nMatches Regular Expression 2!");
} else {
alert("Not a bad date.\nDoesn't match Regular Expression 2.");
}
} else {
alert("Bad date!\nDoesn't match Regular Expression 1!");
}
}
我還是比較新的JavaScript,jQuery和正則表達式,所以我不理解爲什麼測試日期不匹配的第一個正則表達式。
任何想法將不勝感激!我的代碼格式化,但我要檢查正在格式化後的日期符合,這也正是該代碼的用武之地。
'if(test == regEx){'將永遠失敗,因爲這兩件事情不可能相同。有關使用正則表達式的方法,請參閱表4.2:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions –