为了账号安全,请及时绑定邮箱和手机立即绑定

如何从JavaScript的下拉菜单中验证DOB?

如何从JavaScript的下拉菜单中验证DOB?

温温酱 2021-03-30 21:07:45
我正在创建一个html表单,该表单应使用Javascript进行验证。注册时,用户年龄必须大于16岁,我从下拉列表中选择DOB。现在,我的问题是如何使用javscript验证DOB,并且用户年龄不得大于16岁正如您在代码中看到的那样,我已经验证了DOB,但这不是正确的验证方式<head>    <script type="text/javascript">        function myFunction() {            var fname = document.getElementById("fname").value;            var lname = document.getElementById("lname").value;            var email = document.getElementById("email").value;            var remail = document.getElementById("remail").value;            var password = document.getElementById("password").value;            var status = false;                var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;            var x = document.getElementById("male").checked;            var y = document.getElementById("female").checked;            var year1 = document.getElementById("year").value;            var month1 = document.getElementById("month").value;            var day1 = document.getElementById("day").value;            if(fname=="")            {                alert("Please Enter First Name");            }            else if(lname=="")            {                alert("Please Enter Last Name");            }            else if(email=="")            {                alert("Please Enter Email");            }            else if (document.myform.email.value.search(emailRegEx) == -1)             {                        alert("Please enter a valid email address.");            }            else if(remail=="")            {                alert("Please Enter Re-enter Email");            }            else if(email != remail)            {                alert("Please Check Email");            }            else if(password=="")            {                alert("Please Enter Password");            }    </script></head>
查看完整描述

3 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

请尝试一下


注意:尝试使用日期选择器进行日期选择


function validateDOB(){

  if(document.getElementById('dob').value==''){

    alert('Please select a date')

    return false

  }

  var dob=document.getElementById('dob').value

  console.log(dob)

    var today = new Date();

    var birthDate = new Date(dob);

    var age = today.getFullYear() - birthDate.getFullYear();

    var m = today.getMonth() - birthDate.getMonth();

    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {

        age--;

    }

   if(age<16){

      alert('You are not eligible. Age should be above 16...!!!')

   }

}

<input type='date' id='dob'>

<button onclick='validateDOB()'>validate</button>


查看完整回答
反对 回复 2021-04-08
?
慕村9548890

TA贡献1884条经验 获得超4个赞

由于您的代码已经检查了用户是否选择了出生的年,月和日,因此您可以在检查通过后调用我的函数。


function isValidDate(year, month, date) {

 var dob = new Date(year, month-1, date);


 if (dob.getDate() != date)

   alert("Invalid date value");

 else if ((dob.getMonth() - month) != -1)

         alert("Invalid month value");

      else if (dob.getFullYear() != year)

         alert("Invalid year value");

}


查看完整回答
反对 回复 2021-04-08
  • 3 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号