我有一个要求我验证日期的 javascript 类作业。老师提供了一个实际验证的函数,剩下的就看我自己了。我已经为此工作了几个小时,但我被困住了。这是我到目前为止所拥有的...
<html>
<head>
<title>Date Validation</title>
<script type="text/javascript">
var month = document.validateDate.month.value;
var day = document.validateDate.day.value;
var year = document.validateDate.year.value;
function validDate( month, day, year)
{
// Test for leap year
if ((year % 400 == 0) || (year % 4 == 0) &&
!(year % 100 == 0))
leap = true;
else
leap = false;
// Validate date // Assume a valid date-test otherwise
if (year < 1900 || year > 2050) // year must be four digits and
return false; // within reasonable range
else if ((month < 1) || (month > 12) || // test general date and month range
(day < 1) || (day > 31))
return false;
else if (((month == 4) || (month == 6) || // test 30 Day months
(month == 9) || (month == 11)) && (day == 31))
return false;
else if (month == 2 && leap && day > 29) // test February leap years
return false;
else if (month == 2 && !leap && day > 28) // test February NON-leap years
return false;
else
return true; // otherwise, date is OK
}
</script>
<body>
<h1>Date Validator</h1>
<p>Please enter a date to be validated, then press "Validate"</p>
<form action="" name="validateDate">
<select name="month">
<option value="1">January
<option value="2">February
<option value="3">March
<option value="4">April
<option value="5">May
<option value="6">June
<option value="7">July
<option value="8">August
<option value="9">September
<option value="10">October
<option value="11">November
<option value="12">December
</select>
<select name="day">
<option value="1">1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6">6
<option value="7">7
<option value="8">8
<option value="9">9
<option value="10">10
<option value="11">11
<option value="12">12
<option value="13">13
<option value="14">14
<option value="15">15
<option value="16">16
<option value="17">17
<option value="18">18
<option value="19">19
<option value="20">20
<option value="21">21
<option value="22">22
<option value="23">23
<option value="24">24
<option value="25">25
<option value="26">26
<option value="27">27
<option value="28">28
<option value="29">29
<option value="30">30
<option value="31">31
</select>
<select name="year">
<option value="2011">2011
<option value="2012">2012
<option value="2013">2013
<option value="2014">2014
<option value="2015">2015
<option value="2016">2016
<option value="2017">2017
<option value="2018">2018
<option value="2019">2019
<option value="2020">2020
</select>
<input type="button" value="Validate" onclick="validDAte( month, day, year)"/>
<br />
<input type="text" name="textbox" style="width:275"/>
</form>
</body>
</html>
实际功能就是提供的功能。我放在那里的变量“月”、“日”和“年”。我可以获得值,但无法让它们在函数中工作。
最终结果是底部的文本框显示“1/1/2011 是有效日期”之类的内容。或“2/31/2011”不是有效日期。”请帮忙...
最佳答案
你有:
<input type="button" value="Validate" onclick="validDAte( month, day, year)"/>
^ misspelled
拼写错误(a 在 validDate 中大写错误)。也许这是问题的一部分?
关于javascript - 验证日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8145114/