【发布时间】:2018-06-27 08:22:43
【问题描述】:
有没有办法对完整的出生日期 (dd/mm/yyyy) 进行验证,以确定用户是否未满 18 岁。我发现的大多数教程只向我展示了如果用户年龄(不是 DOB)低于 18 岁的情况。 顺便说一句,我的 DOB 文本框也使用了“日期”输入类型。 HTML
<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>
【问题讨论】:
-
解析日期后,如果 year - dobYear 超过 18 或 year - dobYear 为 18,那么如果 month - dobMonth 超过 0 或 month - dobMonth,则此人为 18 岁或以上为 0,day - dobDay 大于等于 0。
-
这个问题已经回答了:stackoverflow.com/questions/4060004/…
-
出生日期加18年,看看是不是在今天之前。无需计算日期之间的差异。
标签: javascript html validation date