我正在嘗試使JavaScript函數驗證字段中的月份和年份。在球場上的日期的格式是MM/YYYY並驗證它下面的一個功能:Uncaught TypeError:Object#<Object> has no method'replace'
function validateVencimento(){
var valid = true;
var currentTime = new Date();
var actualMonth = currentTime.getMonth() + 1;
var actualYear = currentTime.getFullYear();
vencimento = vencimento.replace('///g', '');
var month = parseInt(vencimento.substring(0, 2),10);
var year = parseInt(vencimento.substring(2, 6),10);
if((month < 1) || (month > 12)) valid = false;
if((year < actualYear)) valid = false;
if((year < actualYear) && (month < actualMonth)) valid = false;
if(valid == false){
vencimento.addClass("error");
vencimentoInfo.text("A validade do cartao esta invalida!");
vencimentoInfo.addClass("error");
return false;
}
else{
vencimento.removeClass("error");
vencimentoInfo.text("");
vencimentoInfo.removeClass("error");
return true;
}
}
後,我進入的領域我撥打以上功能上模糊的日期,但在Chrome控制檯回報錯誤Uncaught TypeError:Object#沒有方法'replace'。
請問行號?一個jsFiddle測試用例也會有很大的幫助。 – 2013-04-28 22:11:49
'vencimento'在哪裏定義? – Matthew 2013-04-28 22:12:04
哦,不需要,代碼中只有一個'replace',哈哈哈。 你在哪裏定義了'vencimento'變量?它在全球範圍內嗎? – 2013-04-28 22:12:37