function check_date(field){ var checkstr = "0123456789"; var DateField = field; var Datevalue = ""; var DateTemp = ""; var seperator = "-"; var day; var month; var year; var leap = 0; var err = 0; var i; err = 0; DateValue = DateField.value; /* Delete all chars except 0..9 */ for (i = 0; i < DateValue.length; i++) { if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) { DateTemp = DateTemp + DateValue.substr(i,1); } } DateValue = DateTemp; /* Always change date to 8 digits - string*/ /* if year is entered as 2-digit / always assume 20xx */ if (DateValue.length == 6) { DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); } if (DateValue.length != 8) { err = 19; } /* year is wrong if year = 0000 */ year = DateValue.substr(4,4); /* if (year == 0) { err = 20; } */ /* Validation of month*/ month = DateValue.substr(2,2); if (month > 12) { err = 21; } /* Validation of day*/ day = DateValue.substr(0,2); if (day > 31) { err = 22; } /* Validation leap-year / february / day */ if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) { leap = 1; } if ((month == 2) && (leap == 1) && (day > 29)) { err = 23; } if ((month == 2) && (leap != 1) && (day > 28)) { err = 24; } /* Validation of other months */ if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) { err = 25; } if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) { err = 26; } /* if 00 is entered, error, set to 00-00-0000 */ if ((day == 0) && (month == 0) && (year == 00)) { DateField.value = '00-00-0000'; } /* if no error, write the completed date to Input-Field (e.g. 13-12-2001) */ if (err == 0) { err = 100; DateField.value = day + seperator + month + seperator + year; } /* Error-message if err != 0 */ else { alert('Datum is niet correct!\r\n\r\nIk zet de datum op 00-00-0000.'); DateField.value = "00-00-0000"; DateField.select(); DateField.focus(); } } /* validate time */ function check_time(field) { var checkstr = "0123456789"; var TimeField = field; var Timevalue = ""; var TimeTemp = ""; var seperator = ":"; var hour; var minute; var second; var leap = 0; var err = 0; var i; err = 0; TimeValue = TimeField.value; /* Delete all chars except 0..9 */ for (i = 0; i < TimeValue.length; i++) { if (checkstr.indexOf(TimeValue.substr(i,1)) >= 0) { TimeTemp = TimeTemp + TimeValue.substr(i,1); } } TimeValue = TimeTemp; if (TimeValue.length != 4) { err = 19; } minute = TimeValue.substr(2,2); if (minute > 60) { err = 21; } hour = TimeValue.substr(0,2); if (hour > 24) { err = 22; } /* if 00 is entered, error, set to 00:00:00 */ if ((hour == 00) && (minute == 00)) { TimeField.value = '00:00'; } /* if no error, write the completed time to Input-Field (e.g. 12:60) */ if (err == 0) { err = 100; TimeField.value = hour + seperator + minute; } /* Error-message if err != 0 */ else { alert('tijd is niet correct!\r\n\r\nIk zet de lengte op 00:00.'); TimeField.value = "00:00"; TimeField.select(); TimeField.focus(); } }