JavaScript DHTML/Development/Date Validation

Материал из Web эксперт
Перейти к: навигация, поиск

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">

Date Format Validator


This script validates the date that the user inputs for the following sample format:
23 Feb 1983

Try it yourself ! <form name="form1" method="" action=""> <fieldset style="width:200px; border:#808080 solid 1px"> <legend align="left" width="330"> Date Format Validator </legend>

<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");">
(Click on the button to submit)

</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>