フィールドの確認:
checkFields = function() {
var colCheck = 0;
var colArray = [];
var colDupArray = [];
var iDate = $("check_date").value;
if(iDate.length > 0) {
var a = iDate.split("/");
if(isValidDate(a[0],a[1]-1,a[2]) == false){
alert("You have entered an invalid date. Please amend!");
return false;
}
検証:
isValidDate = function(day,month,year) {
var dteDate;
dteDate=new Date(year,month,day);
var day = dteDate.getDate();
var month = dteDate.getMonth() + 1;
var year = dteDate.getFullYear();
var formatted =
(day < 10 ? "0" : "") + day + "/" +
(month < 10 ? "0" : "") + month + "/" +
year;
return
+day === dteDate.getDate() &&
+month === dteDate.getMonth() &&
+year === dteDate.getFullYear();
}
問題は、数字の間のスラッシュのみを受け入れたいときに、コードが「03.06.2012」などの日付を受け入れていることです。
4桁の年のみが必要な場合は、「03/06/12」も受け入れます。
何か案は?