出生日期验证(如果用户超过16岁)

时间:2018-09-19 18:04:50

标签: javascript jquery

尝试验证用户是否超过16岁,但每次都失败 这是我的代码

试图添加条件以检查用户至少16岁

if (($("#year").val(), month, day)) {

这是尝试

if (($("#year").val(), month, day) <= getAge(new Date())) {

其中getAge是这样的函数

function getAge(DOB) {
    var today = new Date();
    var birthDate = new Date(DOB);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }    
    return age;
}

但是如果我输入日期为2001年10月22日,它仍然处于工作状态

2 个答案:

答案 0 :(得分:1)

按照您的“ 10/22/2001”示例,getAge函数返回16。

但是您的if语句很奇怪。您不必知道某人的生日,如果他们今天出生。

您可以使用:

if (getAge($("#year").val()) < 16) {
    // the person is 15 or under
}
else {
    // the person is 16 or over.
}

答案 1 :(得分:0)

您的问题和给定的代码不清楚。我相信IsDate是一个检查输入是否为有效日期的函数,如果是,则将该值传递给getAge函数。

if(getAge(**enter your DOB**)>=16){
//write your code if the age is greater than or equal to 16
}