コード
function dateCheck(obj){
obj = obj.form;
var years = obj.years.value;
var months = obj.months.value;
var days = obj.days.value;
var flag = true;
if (years == "" || isNaN(years)) {
window.alert("年が未入力です");
return;
}
if (months == "" || isNaN(months)) {
window.alert("月が未入力です");
return;
}
if (days == "" || isNaN(days)) {
window.alert("日が未入力です");
return;
}
years = parseInt(years);
months = parseInt(months) - 1;
days = parseInt(days);
if (years < 1900) {
window.alert("年の値が小さすぎます");
return;
}
var dates = new Date(years,months,days);
if (dates.getYear() < 1900) {
if (years != dates.getYear() + 1900) { flag = false; }
} else {
if (years != dates.getYear()) { flag = false; }
}
if (months != dates.getMonth()) { flag = false; }
if (days != dates.getDate()) { flag = false; }
if (flag) {
window.alert("入力された日付は存在します");
} else {
window.alert("入力された日付は存在しません");
}
}
<FORM>
<INPUT type="text" size="4" maxlength="4" name="years"> 年
<INPUT type="text" size="2" maxlength="2" name="months"> 月
<INPUT type="text" size="2" maxlength="2" name="days"> 日
<INPUT type="button" value="日付チェック" onClick="dateCheck(this);">
</FORM>