javascript - 在Javascript中按年计算年龄不起作用
问题描述
我正在尝试开发一个儿童杂志网站并为儿童制作一个表格,在这种表格中,我试图将输入作为(日期)类型并按年份计算差异,如果年龄为 18 =<,则返回消息或警报年龄 <= 6,现在我尝试了许多在本网站或其他网站中找到的代码:1. javascript - 年龄计算 (我尝试过:getTime() 和其他代码) 2. https://www.w3resource。 com/javascript-exercises/javascript-date-exercise-18.php 和许多人有相同的想法,但他们都没有工作..
这是代码:
</head>
<body>
<input type="date" id="userage" name="userage" onchange=""/>
<p id="k" ></p>
<script>
var a = document.getElementById('k').value ;
var b = Date.parse(a) ;
var c = new Date(b);
var d = c.getFullYear();
function useragefun(birthday){
var e = new Date();
var f = e.getFullYear();
var g = Math.floor(f - birthday);
if (g >= 18 || g <= 6 ){
document.getElementById('k').innerHTML = "You better sign in the adults form";
}else "" ;
}
</script>
</body>
// 可能是这个或警报 ..
解决方案
不太确定你想要什么,但这似乎是它:
function useragefun(birthday){
let birthDate = new Date(birthday),
today = new Date(),
years = (today.getFullYear() - birthDate.getFullYear());
if (today.getMonth() < birthDate.getMonth() ||
today.getMonth() == birthDate.getMonth() && today.getDate() < birthDate.getDate()) {
years--;
}
if (years >= 18 || years <= 6 ){
document.getElementById('k').innerHTML = "You better sign in the adults form";
} else "";
}
<input type="date" id="userage" name="userage" onchange="useragefun(this.value)"/>
<p id="k" ></p>
推荐阅读
- javascript - jQuery 立即验证
- react-native - 来自基于 SideMenu 的应用程序的 ViroARSceneNavigator/ViroVRSceneNavigator
- wordpress - post_per_page 使用自定义值
- azure-devops - 从特定工件触发器触发特定环境
- css - 我将图像设置为绝对定位,使用百分比设置,但是在调整窗口大小时一张图像仍然没有保留
- javascript - 当用户输入新消息时,将特定的新消息 div 滚动到容器 div 的顶部
- go - 如何使用 gonum/go 制作包含复数条目的矩阵?
- php - 将月份拆分为 4 并检索每天的平均值
- javascript - 动态更改html表中的值
- neo4j - neo4j 可以返回节点的某些属性并在图中表示吗?