JavaScript DHTML/Development/Date Validation
Date Format Validator
<source lang="html4strict">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Date Format Validator</title> <script language="JavaScript"> // Date Format Validator // Sample Format : 23 Feb 1983 // (c) 2002 Premshree Pillai // http://www.qiksearch.ru // qiksearch@rediffmail.ru function validate_date(formName, textName) {
var errMsg="", lenErr=false, dateErr=false; var testObj=eval("document." + formName + "." + textName + ".value"); var testStr=testObj.split(" "); if(testStr.length>3 || testStr.length<3) { lenErr=true; dateErr=true; errMsg+="There is an error in the date format."; } var monthsArr = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug" ,"Sep", "Oct", "Nov", "Dec"); var daysArr = new Array; for (var i=0; i<12; i++) { if(i!=1) { if((i/2)==(Math.round(i/2))) { if(i<=6) { daysArr[i]="31"; } else { daysArr[i]="30"; } } else { if(i<=6) { daysArr[i]="30"; } else { daysArr[i]="31"; } } } else { if((testStr[2]/4)==(Math.round(testStr[2]/4))) { daysArr[i]="29"; } else { daysArr[i]="28"; } } } var monthErr=false, yearErr=false; if(testStr[2]<1000 && !lenErr) { yearErr=true; dateErr=true; errMsg+="\nThe year \"" + testStr[2] + "\" is not correct."; } for(var i=0; i<12; i++) { if(testStr[1]==monthsArr[i]) { var setMonth=i; break; } } if(!lenErr && (setMonth==undefined)) { monthErr=true; errMsg+="\nThe month \"" + testStr[1] + "\" is not correct."; dateErr=true; } if(!monthErr && !yearErr && !lenErr) { if(testStr[0]>daysArr[setMonth]) { errMsg+=testStr[1] + " " + testStr[2] + " does not have " + testStr[0] + " days."; dateErr=true; } } if(!dateErr) { eval("document." + formName + "." + "submit()"); } else { alert(errMsg + "\n____________________________\n\nSample Date Format :\n23 Feb 1983"); eval("document." + formName + "." + textName + ".focus()"); eval("document." + formName + "." + textName + ".select()"); }
} </script> </head> <body bgcolor="#FFFFFF">
This script validates the date that the user inputs for the following sample format:
<input type="text" maxlength="11" style="border:#000000 solid 1px; width:120px" name="date">
<input type="button" value="Submit" style="border:#000000 outset 1px; background:#EFEFEF; height:20px; cursor:pointer" onClick="javascript:validate_date("form1","date");">
</fieldset> </form> © 2002 <a href="http://www.qiksearch.ru" title="Click here to visit Qiksearch.ru">Premshree Pillai</a>. |
</body> </html>
</source>
Date Validation in a Form
<source lang="html4strict">
/* JavaScript Bible, Fourth Edition by Danny Goodman John Wiley & Sons CopyRight 2001
- /
<HTML> <HEAD> <TITLE>Date Entry Validation</TITLE> <SCRIPT LANGUAGE="JavaScript">
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="birthdate" ACTION="mailto:info@wbex.ru" METHOD=POST onSubmit="return checkForm(this)">
Please enter your birthdate...
Month:<INPUT TYPE="text" NAME="month" VALUE=1 SIZE=2 onChange="validateMonth(this)">
Date:<INPUT TYPE="text" NAME="date" VALUE=1 SIZE=2 onChange="validateDate(this)">
Year:<INPUT TYPE="text" NAME="year" VALUE=1900 SIZE=4 onChange="validateYear(this)">
Thank you for entering:<INPUT TYPE="text" NAME="fullDate" SIZE=10><P> <INPUT TYPE="submit"> <INPUT TYPE="Reset"> </FORM> </BODY> </HTML> </source>