Style

Assistant

Startseite
Screenshot
Kurzanleitung
Download
Kurse & Infos
>Tipps & Tricks<
Unterstützer
TMXtensions
?Freeware!
About TM
E-Mail
Made with CSS
Valid HTML 4.01!
Stand: 07.12.2002

Tipps & Tricks – Tipp 16
Zur Übersicht

16. Datumsprüfung mit JavaScript (05.11.1999)

Beim Ausfüllen von Formularen wird es erforderlich, Datumswerte auf ihre Plausibilität zu prüfen. In diesem Beispiel wird ein Datum in der Form TT.MM.JJJJ erwartet. Der übergebene Datumswert wird in der Funktion PruefeDatum(Datum,Startjahr,Endjahr) zunächst auf seine Zeichenanzahl geprüft, die gleich 10 sein muss, und ob die Punkte an den erwarteten Stellen sitzen. Danach wird getestet, ob die Zahlenwerte sinnvoll sind, d. h. die Anzahl der Tage im Monat sowie Schaltjahre werden geprüft.

Im Beispiel werden die Jahre 1600 bis 2400 berücksichtigt. Die Funktion gibt zusätzlich true oder false zurück.
      <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
      <!--

      function PruefeDatum(Datum,Startjahr,Endjahr)
      {
      var Datum, Tag, Monat, Jahr, Laenge, tageMonat;
      Laenge=Datum.length;
      
      if (Laenge==10 && Datum.substring(2,3)=="." && Datum.substring(5,6)==".")
      {
      Tag=parseInt(Datum.substring(0,2),10);
      Monat=parseInt(Datum.substring(3,5),10);
      Jahr=parseInt(Datum.substring(6,10),10);
      }
      else
      {
      Fehlermeldung();return false;
      }
      
      if (Monat==4 || Monat==6 || Monat==9 || Monat==11)
      {
      tageMonat=30;
      }
      else if (Monat==1 || Monat==3 || Monat==5 || Monat==7 || Monat==8
        || Monat==10 || Monat==12)
      {
      tageMonat=31;
      }
      else if(Monat==2 && Jahr%4==0 && Jahr%100!=0 || Jahr%400==0)
      {
      tageMonat=29;
      }
      else if(Monat==2 && Jahr%4!=0 || Jahr%100==0 && Jahr%400!=0)
      {
      tageMonat=28;
      }
      
      if (Tag>=1 && Tag<=tageMonat && Monat>=1 &&
        Monat<=12 && Jahr>=Startjahr && Jahr<=Endjahr)









      {
      alert("Das Datum wurde korrekt eingegeben!");
      return true;
      }
      else
      {
      Fehlermeldung();return false;
      }
      }

      
      function Fehlermeldung()
      {
      alert("Kein gueltiges Datum!\n
       Bitte Datum in der Form: TT.MM.JJJJ eingeben!");
      document.Test.Eingabe.focus();
      }

      //-->
      </SCRIPT>


      Aufruf der Funktion PruefeDatum() im Beispiel 16:

      <FORM NAME="Test">
      <INPUT TYPE="TEXT" NAME="Eingabe" VALUE="01.01.2000">
      <INPUT TYPE="BUTTON" VALUE="Datum testen"
       OnClick="PruefeDatum(document.Test.Eingabe.value,1600,2400)">
      </FORM>