jk296: Eingegebenes Datum darf nicht NACH festgelegtem Datum liegen

Hallo,

habe folgende Anweisung:

var s = document.Formular.Datum.value;
var erg = s.match(/[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}/gi);
if(!erg) {
alert("Bitte das Datum korrekt eingeben!");
document.Formular.Datum.focus();
return false;
}

Jetzt soll geprüft werden, ob das eingegebene Datum nach einem festgelegten Datum, z. B. 01.01.2000, liegt. Wenn ja, dann Fehlermeldung.

Danke schon mal für eure Hilfen.

Gruß.

PS: Wie muss ich den Code ändern, damit z. B. das Datum 34.15.7000 als fehlerhaft gilt?

  1. Hi JK!

    Ich empfehle dir, als Basis einen frei verwendbaren, schönen Kalender zu verwenden. Wie ein solches Javascript aussieht, findest du z.B. hier:
    http://www.softcomplex.com/products/tigra_calendar/

    Ansonsten liegt die Antwort im Date objekt von Javascript:
    < http://de.selfhtml.org/javascript/objekte/date.htm>

    Grüsse,
    Richard

    1. Hi JK!

      Ich empfehle dir, als Basis einen frei verwendbaren, schönen Kalender zu verwenden. Wie ein solches Javascript aussieht, findest du z.B. hier:
      http://www.softcomplex.com/products/tigra_calendar/

      Ansonsten liegt die Antwort im Date objekt von Javascript:
      http://de.selfhtml.org/javascript/objekte/date.htm

      Grüsse,
      Richard

      Soll kein Kalender sein.

      Bräuchte nen Quelltext mit Prüfung, ob das Eingabeformat stimmt!

      1. @@jk296:

        Ansonsten liegt die Antwort im Date objekt von Javascript:
        http://de.selfhtml.org/javascript/objekte/date.htm

        An welcher Stelle bist du nicht weitergekommen?

        Bräuchte nen Quelltext

        „Bräuchte nen Quelltext“ is’ hier nich’ wegen SELF.

        mit Prüfung, ob das Eingabeformat stimmt!

        Auch im Archiv solltest du einiges dazu finden.

        Live long and prosper,
        Gunnar

        --
        „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  2. Danke schon mal für eure Hilfen.

    Die hast du doch schon hier bekommen.

    Struppi.

    1. Danke schon mal für eure Hilfen.

      Die hast du doch schon hier bekommen.

      Struppi.

      (Bräuchte nen Quelltext mit Prüfung, ob das Eingabeformat stimmt!)

      1. Mahlzeit,

        Danke schon mal für eure Hilfen.

        Die hast du doch schon hier bekommen.

        Struppi.

        (Bräuchte nen Quelltext mit Prüfung, ob das Eingabeformat stimmt!)

        Oooch, ich bräuchte auch so einiges ... z.B. ein neues Auto, erheblich mehr Geld auf meinem Konto, mehr Zeit für private Projekte ... dummerweise bekommt man leider nicht immer das, was man will - zumindest selten ohne Gegenleistung bzw. ohne sich zumindest ein bisschen anzustrengen (deshalb hier auch das "SELF "im Namen des Forums bzw. des ganzen Projektes).

        Du hast schon den regulären Ausdruck /[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}/gi (der im Übrigen leider nicht ganz korrekt ist) ... den so zu erweitern, dass Du die einzelnen Teilwerte wie Tag, Monat und Jahr zurückbekommst, ist doch nicht so schwer: /([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})/gi

        Jetzt könntest Du das von ritschmanhard erwähnte http://de.selfhtml.org/javascript/objekte/date.htm@title=Date-Objekt mit diesen Werten füttern, um zu sehen, ob es sich um ein korrektes Datum handelt.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. @@EKKi:

          Jetzt könntest Du das von ritschmanhard erwähnte http://de.selfhtml.org/javascript/objekte/date.htm@title=Date-Objekt mit diesen Werten füttern,

          Wobei zu beachten wäre, dass beim Monat 1 abzuziehen ist.

          um zu sehen, ob es sich um ein korrektes Datum handelt.

          Nö.

          JavaScript zählt bei Montasangaben > 11 und Tagesangaben > Monatslänge einfach weiter; bei

          var foo = new Date(2007, 13, 33);  
          alert (foo.getFullYear() + "-" + (foo.getMonth() + 1) + "-" + foo.getDate());  
          
          

          kommt das heutige Datum "2008-3-4" heraus.

          Live long and prosper,
          Gunnar

          --
          „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
          1. Mahlzeit,

            um zu sehen, ob es sich um ein korrektes Datum handelt.

            Nö.

            Narf - OK, hast recht. :-) Dabei hatte ich mich doch grad vor ein paar Wochen mit allerlei Datumsoperationen beschäftigt ... tja, man wird alt. Wird Zeit, dass ich wieder bisschen Datumsbasteleien betreibe.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      2. Struppi.

        Bitte, zitiere nur das, worauf du Antworten möchtest, Danke!

        (Bräuchte nen Quelltext mit Prüfung, ob das Eingabeformat stimmt!)

        Das hast du dort bereits, du musst es nur ein klein wenig erweitern.

        Struppi.

  3. Hallo,

    habe folgende Anweisung:

    var s = document.Formular.Datum.value;
    var erg = s.match(/[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}/gi);
    if(!erg) {
    alert("Bitte das Datum korrekt eingeben!");
    document.Formular.Datum.focus();
    return false;
    }

    Jetzt soll geprüft werden, ob das eingegebene Datum nach einem festgelegten Datum, z. B. 01.01.2000, liegt. Wenn ja, dann Fehlermeldung.

    Danke schon mal für eure Hilfen.

    Gruß.

    PS: Wie muss ich den Code ändern, damit z. B. das Datum 34.15.7000 als fehlerhaft gilt?

    Welche Objekte sind denn wichtig, damit z. B. das Datum 34.15.7000 als fehlerhaft gilt? Darum gehts in erster Linie. Die Prüfung des Formats ist eigentlich nicht so wichtig.

    1. Hi,

      zitiere bitte mal sinnvoll, und nicht einfach alles.

      Welche Objekte sind denn wichtig, damit z. B. das Datum 34.15.7000 als fehlerhaft gilt?

      Zerlege das Datum in seine einzelnen Bestandteile, und ueberpruefe diese auf Gueltigkeit.

      MfG ChrisB