»
EnglishFrenchVietnamese

Print - Validate Date script - JavaScriptBank.com

Full version: jsB@nk » Time » Validation » Validate Date script
URL: https://www.javascriptbank.com/validate-date-script.html

Validate Date script © JavaScriptBank.comThis is a simple date validation. The script is written for the European format (ddmmyy), but can easily be changed.

Full version: jsB@nk » Time » Validation » Validate Date script
URL: https://www.javascriptbank.com/validate-date-script.html



JavaScript
<SCRIPT LANGUAGE="JavaScript">// Torsten Frey ([email protected]) , http://www.tfrey.de/<!-- Beginfunction check_date(field){var checkstr = "0123456789";var DateField = field;var Datevalue = "";var DateTemp = "";var seperator = ".";var day;var month;var year;var leap = 0;var err = 0;var i;   err = 0;   DateValue = DateField.value;   /* Delete all chars except 0..9 */   for (i = 0; i < DateValue.length; i++) {  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {     DateTemp = DateTemp + DateValue.substr(i,1);  }   }   DateValue = DateTemp;   /* Always change date to 8 digits - string*/   /* if year is entered as 2-digit / always assume 20xx */   if (DateValue.length == 6) {      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }   if (DateValue.length != 8) {      err = 19;}   /* year is wrong if year = 0000 */   year = DateValue.substr(4,4);   if (year == 0) {      err = 20;   }   /* Validation of month*/   month = DateValue.substr(2,2);   if ((month < 1) || (month > 12)) {      err = 21;   }   /* Validation of day*/   day = DateValue.substr(0,2);   if (day < 1) {     err = 22;   }   /* Validation leap-year / february / day */   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {      leap = 1;   }   if ((month == 2) && (leap == 1) && (day > 29)) {      err = 23;   }   if ((month == 2) && (leap != 1) && (day > 28)) {      err = 24;   }   /* Validation of other months */   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {      err = 25;   }   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {      err = 26;   }   /* if 00 ist entered, no error, deleting the entry */   if ((day == 0) && (month == 0) && (year == 00)) {      err = 0; day = ""; month = ""; year = ""; seperator = "";   }   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */   if (err == 0) {      DateField.value = day + seperator + month + seperator + year;   }   /* Error-message if err != 0 */   else {      alert("Date is incorrect!");      DateField.select();  DateField.focus();   }}//  End --></script><!--    This script downloaded from www.JavaScriptBank.com    Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->


HTML
<FORM name="datecheck"><TABLE border="0" width="60%">    <TR>  <TD>    Enter Date (Use European format shown at right)<P>  <INPUT type="text" name=testdat size='10' maxlength="10" onblur="check_date(this)">  <INPUT type= "submit" name="button" value="Press to Validate"><p>(Date is validated after leaving the field.)    </TD>    <TD>  <b>ddmmyy</b> (171201) or <BR>  <b>ddmmyyyy</b> (17122001) or <BR>  <b>ddXmmXyy</b> (17-12-01 or 17y12q01 ... ) or <BR>  <b>ddXmmXyyyy</b> (17.12.2001 or 17,12,2001 ...) <br>  where &quot;X&quot; is any sign not in 0..9, i.e. &quot;-&quot; or &quot;/&quot;<p>  </TD>    </TR></TABLE></FORM><!--    This script downloaded from www.JavaScriptBank.com    Come to view and download over 2000+ free javascript at www.JavaScriptBank.com-->