首页 > 解决方案 > 我如何使用 vanilla javascript 验证日期字段的年龄

问题描述

我正在尝试在日期输入字段上验证年龄,如果 somone 年龄在 18 岁以上,那么如果他不是 18 岁以上的字段将是错误的,我该怎么做?

标签: javascriptdatevalidation

解决方案


下面将给定的生日复制到一个新的常数b18中,并通过增加 18 年来改变它。然后与当前日期的比较显示此人是否为 18 岁。

// const b contains birth date to be tested
document.querySelector("input").addEventListener("input",function(){

 const b=new Date(this.value);

 const b18=new Date(b.getTime());
 b18.setYear(b.getFullYear()+18);

 // alternatively you could calculate that "critical birthdate", 
 // 18 years ago, that makes you an adult today:
 const d18=new Date();
 d18.setYear(d18.getFullYear()-18);

 console.log(new Date()>b18,d18>b);
})
<input type ="date" value="2003-08-29">


推荐阅读