eine checkdate funktion in JS

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • eine checkdate funktion in JS

    Hallo zusammen!

    hat mir jemand eine funktion oder ein link zu einer guten javascript funktion die ein normales datum (bsp. 11.12.2002) überprüfen kann?

    ich weiss im netz gibt's tausende, aber die dich gefunden habe, liefen in meine script nicht bezw. waren ungetestet, komme schon fast auf den psycho!

    besten dank
    larix

  • #2
    Re: eine checkdate funktion in JS

    bau dir doch selber schnell eine!

    monat muss >=1 und <=12 sein.
    nicht erfüllt? -> abbruch!

    dann machst du dir ein array, wie viele tage pro monat gültig sind.
    für den februar nimmst du zuerst 29 tage, die maximalzahl.

    gueltige_tage = new Array(31,29,31,30,31, ...);

    dann fragst du ab, ob tag >=1 und <=gueltige_tage[monat-1] ist.
    nicht erfüllt? -> abbruch!

    anschliessend im fall monat=2 und tag=29 noch prüfen, ob ein schaltjahr vorliegt. das ist dann der fall, wenn das jahr durch 4 teilbar ist, bei jahrhunderten jedoch nur, wenn es durch 400 teilbar ist.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich hab keine ahnung von javascript

      ich hab keine ahnung von javascript, sonst hätte ich sie schon selber gemacht!

      aber nach einmal drüber schlafen findet man auch mal was guetes!

      PHP-Code:
      <script type="text/javascript">
      <!-- 
      gueltig fuer Browser ab Version 4Internet Explorer ab Version 5

      function gueltigesDatum (datum)
      {
          
      //(Schritt 1) Fehlerbehandlung
       
      if (!datum) return false;
       
      datum=datum.toString();

          
      //(Schritt 2) Aufspaltung des Datums
       
      datum=datum.split(".");
       if (
      datum.length!=3) return false;

          
      //(Schritt 3) Entfernung der fuehrenden Nullen und Anpassung des Monats

       
      datum[0]=parseInt(datum[0],10);
       
      datum[1]=parseInt(datum[1],10)-1;

          
      //(Schritt 4) Behandlung Jahr nur zweistellig
       
      if (datum[2].length==2datum[2]="20"+datum[2];

          
      //(Schritt 5) Erzeugung eines neuen Dateobjektes
       
      var kontrolldatum=new Date(datum[2],datum[1],datum[0]);

          
      //(Schritt 6) Vergleich, ob das eingegebene Datum gleich dem JS-Datum ist
       
      if (kontrolldatum.getDate()==datum[0] && kontrolldatum.getMonth()==datum[1] && kontrolldatum.getFullYear()==datum[2])
           return 
      true; else return false;

      }

      /* Beispielaufrufe*/

      alert(gueltigesDatum("29.02.2000"));
      alert(gueltigesDatum("29.02.2001"));

      //-->
      </script

      originallink (selfhtml) -> http://selfaktuell.teamone.de/tippst...mueberpruefen/


      besten dank & mfg

      larix

      Kommentar

      Lädt...
      X