javascript - 我如何使用 vanilla javascript 验证日期字段的年龄
问题描述
我正在尝试在日期输入字段上验证年龄,如果 somone 年龄在 18 岁以上,那么如果他不是 18 岁以上的字段将是错误的,我该怎么做?
解决方案
下面将给定的生日复制到一个新的常数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">
推荐阅读
- spring-boot - @ManyToOne 在 JPA 中引用复合键
- javascript - 如何比较两个变量值?
- regex - 删除/替换特殊字符,例外
- sql - 我需要从主人那里获取唯一记录并详细记录其重复记录
- python - 如何在单独的 Python 多处理进程中从数据流中获取最新值?
- swagger-editor - 以与显示的相同样式下载 swagger-documentation
- java - 尝试以编程方式获取可绘制资源时出错
- oop - 在类中自创对象
- python - python docker cron作业没有输出
- java - 在 Gradle 中使用 Java 9 项目 Jigsaw