Development JavaScript DHTML




Date Format Validator

// Date Format Validator
// Sample Format : 23 Feb 1983
// (c) 2002 Premshree Pillai
// http://www.qiksearch.com
// qiksearch@rediffmail.com
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()');
 }
}



Date Format Validator





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

23 Feb 1983


Try it yourself !


 Date Format Validator 





(Click on the button to submit)





© 2002 Premshree Pillai.