この JavaScript を使用して、入力された年齢が 18 歳以上かどうかを確認しています。
function calculateDiffYear(date, month, year)
{
var cur = new Date();
var diff = Math.floor((cur.getTime() - new Date(year, month, date)) / (60 * 60 * 24 * 1000));
diff -= Math.floor((cur.getFullYear() - year) / 4);
return diff / 365;
}
function checkBorn(sender)
{
var root = sender.form;
var date = root.elements['date'].value;
var month = root.elements['month'].value - 1;
var year = root.elements['year'].value;
if (!isValidDate(date, month, year) || calculateDiffYear(date, month, year) < 18) return false;
return true;
}
うるう年にある場合を除いて、ほぼ正しく動作する場合は、明日18 歳になる人に 18 歳以上を与えます。少なくとも、今日の日付で実行し、昨年に変更するテストでは. これを追加しようとしましたが、運がありません:
if ($('#leap').val()) divider = 366;
else divider = 365;
return diff / divider;
どうすれば解決できるか知っていますか?
ありがとうございました