Javascript 出生日期18岁以下
是否有办法对完整的出生日期(dd/mm/yyyy)进行验证,以确定用户是否未满18岁。我找到的大多数教程只向我展示了在用户年龄(不是DOB)低于18岁时如何操作。 顺便说一下,我的DOB文本框也使用输入类型“日期”。 HTMLJavascript 出生日期18岁以下,javascript,html,validation,date,Javascript,Html,Validation,Date,是否有办法对完整的出生日期(dd/mm/yyyy)进行验证,以确定用户是否未满18岁。我找到的大多数教程只向我展示了在用户年龄(不是DOB)低于18岁时如何操作。 顺便说一下,我的DOB文本框也使用输入类型“日期”。 HTML ☰ 在线预约 英国日期 旅游日期 迈凯轮 芭萝莎 克莱尔 结果: 我会先计算年龄,然后检查他是否超过18岁。下面是一个代码片段 var birthday1=新日期(“2015-03-25”); var birthday2=新日期(“1994-
☰
在线预约
英国日期
旅游日期
迈凯轮
芭萝莎
克莱尔
结果:
我会先计算年龄,然后检查他是否超过18岁。下面是一个代码片段
var birthday1=新日期(“2015-03-25”);
var birthday2=新日期(“1994-03-25”);
十八岁以上(生日){
var ageDifMs=Date.now()-birth.getTime();
var ageDate=新日期(ageDifMs);
var age=Math.abs(ageDate.getUTCFullYear()-1970);
如果(年龄>17岁){
返回true;
}否则{
返回false;
}
}
console.log(isover18th(birthday1));
console.log(十八岁(生日2))代码>我会先计算年龄,然后检查他是否超过18岁。下面是一个代码片段
var birthday1=新日期(“2015-03-25”);
var birthday2=新日期(“1994-03-25”);
十八岁以上(生日){
var ageDifMs=Date.now()-birth.getTime();
var ageDate=新日期(ageDifMs);
var age=Math.abs(ageDate.getUTCFullYear()-1970);
如果(年龄>17岁){
返回true;
}否则{
返回false;
}
}
console.log(isover18th(birthday1));
console.log(十八岁(生日2))代码>有,但似乎都没有好的答案
与其计算年龄(这实际上比许多人想象的要复杂),不如将出生日期加上18岁,看看它是否在今天之前,或者从今天减去18岁,看看它是否在出生日期之后
//从现在开始减去18年,看看是否大于出生日期
18岁以上(出生日期){
var now=新日期();
var m=now.getMonth();
now.setFullYear(now.getFullYear()-18);
//今天是2月29日
如果(m!=now.getMonth())now.setDate(0);
现在返回>生日;
}
//一些测试
var opts={天:'2位',月:'short',年:'numeric'};
[新日期(2000年1月29日)//2000年2月29日
新日期(2000年0月20日)//2000年1月20日
新日期(2000,0,19),//2000年1月19日
新日期(2000,0,18),//2000年1月18日
新日期(1999,0,1)//1999年1月1日
].forEach(功能(d){
控制台日志(d.toLocaleString('en-GB',opts),超过18(d));
});代码>有,但似乎都没有好的答案
与其计算年龄(这实际上比许多人想象的要复杂),不如将出生日期加上18岁,看看它是否在今天之前,或者从今天减去18岁,看看它是否在出生日期之后
//从现在开始减去18年,看看是否大于出生日期
18岁以上(出生日期){
var now=新日期();
var m=now.getMonth();
now.setFullYear(now.getFullYear()-18);
//今天是2月29日
如果(m!=now.getMonth())now.setDate(0);
现在返回>生日;
}
//一些测试
var opts={天:'2位',月:'short',年:'numeric'};
[新日期(2000年1月29日)//2000年2月29日
新日期(2000年0月20日)//2000年1月20日
新日期(2000,0,19),//2000年1月19日
新日期(2000,0,18),//2000年1月18日
新日期(1999,0,1)//1999年1月1日
].forEach(功能(d){
控制台日志(d.toLocaleString('en-GB',opts),超过18(d));
});代码>你的代码在哪里?解析日期后,如果year-dobYear超过18岁,或者year-dobYear超过18岁,那么如果month-dobMonth超过0,或者month-dobMonth为0,day-dobDay大于或等于0。这个问题已经得到了回答:可能的重复就是在出生日期的基础上再加上18岁,看看它是否在今天之前。不需要计算日期之间的差异。代码在哪里?解析日期后,如果year-dobYear超过18岁,或者year-dobYear超过18岁,那么如果month-dobMonth超过0,或者month-dobMonth为0,day-dobDay大于或等于0。这个问题已经得到了回答:可能的重复就是在出生日期的基础上再加上18岁,看看它是否在今天之前。无需计算日期之间的差异。您可以帮助我并告诉我如何将上述代码应用于我的html。新日期(“2015-03-25”)
将主要被视为UTC(但不是所有浏览器),其中as Date.now是本地的。您可以帮助我并告诉我如何将上述代码应用于我的html。新日期(“2015-03-25”)
大多数情况下将被视为UTC(但不是所有浏览器),其中as Date.now是本地的。
<body>
<header class="v-header container">
<div class="fullscreen-backgorund-Booking">
</div>
<div>
<ul>
<li><a href="Home">Home</a></li>
<li><a href="McLaren Vale">McLaren Vale</a></li>
<li><a href="Barossa">Barossa</a></li>
<li><a href="Clare">Clare</a></li>
<li><a href="Online Booking">Online Booking</a></li>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="Home">Home</a>
<a href="McLaren Vale">McLaren</a>
<a href="Barossa">Barossa</a>
<a href="Clare">Clare</a>
<a href="Online Booking">Online Booking</a>
</div>
<span id="sidebtn" onclick="openNav()">☰</span>
</ul>
</div>
<div class="header-overlay"></div>
<div class="header-content" style="width: 100%;">
<!-- width... is not working in external css... why?-->
<h1 style="margin-top: -100px;">Online Booking</h1>
<form name="myForm" action="/action_page.php" onsubmit="return validateForm()" method="post">
<input type="text" name="fname" placeholder="Firstname"> Date of Brith
<input type="date" name="DoB" placeholder="Date of Birth">
<input type="text" name="TelNumber" placeholder="Telephone number">
<input type="email" name="email" placeholder="Email"> Date of Tour
<input type="date" name="DoT" placeholder="Date of tour (dd.mm.yyyy)">
<form action="" id="calculate" onsubmit="return false;">
<input type="text" placeholder="Number of Travellers" id="val" name="val" value="" />
<label class="radiolabel">
<input type="radio" name="button" value="100">McLaren</label>
<label class="radiolabel">
<input type="radio" name="button" value="150">Barossa</label>
<label class="radiolabel">
<input type="radio" name="button" value="90">Clare</label>
<div id="result" style="display: block;">
Result:</div>
<input type="submit" id="submit" value="Submit" onclick="endresult(document.forms['myForm'].elements['button']);">
</div>
</form>
</div>