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

我正在创建一个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>



温温酱
浏览 210回答 3
3回答

慕容708150

请尝试一下注意:尝试使用日期选择器进行日期选择function validateDOB(){&nbsp; if(document.getElementById('dob').value==''){&nbsp; &nbsp; alert('Please select a date')&nbsp; &nbsp; return false&nbsp; }&nbsp; var dob=document.getElementById('dob').value&nbsp; console.log(dob)&nbsp; &nbsp; var today = new Date();&nbsp; &nbsp; var birthDate = new Date(dob);&nbsp; &nbsp; var age = today.getFullYear() - birthDate.getFullYear();&nbsp; &nbsp; var m = today.getMonth() - birthDate.getMonth();&nbsp; &nbsp; if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {&nbsp; &nbsp; &nbsp; &nbsp; age--;&nbsp; &nbsp; }&nbsp; &nbsp;if(age<16){&nbsp; &nbsp; &nbsp; alert('You are not eligible. Age should be above 16...!!!')&nbsp; &nbsp;}}<input type='date' id='dob'><button onclick='validateDOB()'>validate</button>

慕村9548890

由于您的代码已经检查了用户是否选择了出生的年,月和日,因此您可以在检查通过后调用我的函数。function isValidDate(year, month, date) {&nbsp;var dob = new Date(year, month-1, date);&nbsp;if (dob.getDate() != date)&nbsp; &nbsp;alert("Invalid date value");&nbsp;else if ((dob.getMonth() - month) != -1)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alert("Invalid month value");&nbsp; &nbsp; &nbsp; else if (dob.getFullYear() != year)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alert("Invalid year value");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript