我在验证输入类型=“日期”时遇到问题。它不应该接受18岁以下。请你帮助我好吗?谢谢。
我谷歌搜索论坛我还没有找到答案。 我尝试在下一页使用PHP验证它,但我的教授告诉我,我必须在同一页面验证它。像onchange一样,它必须经过验证。
<input type="date" name="bday" id="bday" value="">
答案 0 :(得分:2)
使用javascript。如果您想接受仅18岁及以上的生日,请尝试按照javascript代码。
将onblur="return dobcheck()"
放入bday
标记。
<script type="text/javascript">
function dobcheck()
{
var birth = document.getElementById('bday')
if(birth != "")
{
var record=document.getElementById('bday').value.trim();
var currentdate=new Date();
var day1 = currentdate3.getDate();
var month1 = currentdate3.getMonth();
month1++;
var year11 = currentdate3.getFullYear()-17;
var year2= currentdate3.getFullYear()-100;
var record_day1=record.split("/");
var sum=record_day1[1]+'/'+record_day1[0]+'/'+record_day1[2];
var current= month1+'/'+day1+'/'+year11;
var current1= month1+'/'+day1+'/'+year2;
var d1=new Date(current)
var d2=new Date(current1)
var record1 = new Date(sum);
if(record1 > d1)
{
alert("Sorry ! Minors need parential guidance to use this website");
document.getElementById('bday').blur();
document.getElementById('bday').value="";
document.getElementById('bday').focus();
return false;
}
}
}
</script>
我希望你现在能得到它......
答案 1 :(得分:1)
如果您被允许使用HTML5,则非常简单。您只需使用max属性:
<input id="bday" type="date" max="1995-12-31" required="" />
如果你必须动态创建,你可以动态创建max属性。
我做了一个例子: http://jsfiddle.net/trixta/wpb54/ http://jsfiddle.net/trixta/wpb54/4/
答案 2 :(得分:1)
我知道为时已晚:D但可能会对其他人有所帮助:)。
$(function(){
var dtToday = new Date();
var month = dtToday.getMonth() + 1;// jan=0; feb=1 .......
var day = dtToday.getDate();
var year = dtToday.getFullYear() - 18;
if(month < 10)
month = '0' + month.toString();
if(day < 10)
day = '0' + day.toString();
var minDate = year + '-' + month + '-' + day;
var maxDate = year + '-' + month + '-' + day;
$('#dob').attr('max', maxDate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="dob">