使用JavaScript计算用户是否超过16岁

Calculating if user is over 16 years old with JavaScript

本文关键字:16岁 是否 用户 JavaScript 计算 使用      更新时间:2023-09-26

我正在制作一个带有日期输入和以下文本框的表单。如果用户选择的生日小于16岁,我希望文本框处于启用状态。

到目前为止,我有:

function checkAge() {
    var birthDate = document.getElementById("DoB");
    var today = new Date();
    if (today >= new Date(birthDate.getFullYear() + 16, birthDate.getMonth(), birthDate.getDate())) {
        // Member over 16, keep parent/guardian textbox disabled.
        document.getElementById("parentConsent").disable = true;
    } else {
        // Require Parent/Guardian permission
        document.getElementById("parentConsent").disable = false;
        document.getElementById("parentConsent").setAttribute('required');
    }
}

这是我目前的JsFiddle-http://jsfiddle.net/n3d9mLey/

如果您直接使用dom元素来计算日期,您可以尝试这样的

function checkAge() {
    var birthDate = new Date(document.getElementById("DoB").value);
    var today = new Date();
    if (today >= new Date(birthDate.getFullYear() + 16, birthDate.getMonth(), birthDate.getDate())) {
        // Member over 16, keep parent/guardian textbox disabled.
        document.getElementById("parentConsent").disable = true;
    } else {
        // Require Parent/Guardian permission
        document.getElementById("parentConsent").disable = false;
        document.getElementById("parentConsent").setAttribute('required');
    }
}