我正在使用这个 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 岁,至少在我正在使用今天日期和更改为 las 年的测试中。我尝试添加这个但没有运气:
if ($('#leap').val()) divider = 366;
else divider = 365;
return diff / divider;
你知道我该如何解决吗?
谢谢