Peter Kaltenbach: Datumeingabe auf Gültigkeit prüfen

Beitrag lesen

Hallo,

ich möchte auch mal nicht nur Fragen stellen. Deswegen der folgende Script der hoffentlich für einige nützlich ist.
function TestDatum( nTag, nMaxTag ) {
if( nTag >= 1 && nTag <= nMaxTag )
  return true
else
  return false
}

function IstSchaltjahr( nJahr ) {
if (( nJahr % 100 != 0 ) &&
  ( nJahr % 4 == 0 )
  ( nJahr % 400 == 0 )) {
   return true;
  }
return false;
}

function DatumGueltigEx( nTag, nMonat, nJahr ) {
var ok;
ok=false;

switch( nMonat ) {  

case 1:
   ok= TestDatum( nTag, 31 );
   break;
  case 2:
   if( IstSchaltjahr( nJahr ) ) {
    ok= TestDatum( nTag, 29 )
   } else {
    ok= TestDatum( nTag, 28 )
   }
   break;
  
  case 3:
   ok= TestDatum( nTag, 31 );
   break;
  case 4:
   ok= TestDatum( nTag, 30 );
   break;
  case 5:
   ok= TestDatum( nTag, 31 );
   break;
  case 6:
   ok= TestDatum( nTag, 30 );
   break;
  case 7:
   ok= TestDatum( nTag, 31 );
   break;
  case 8:
   ok= TestDatum( nTag, 31 );
   break;
  case 9:
   ok= TestDatum( nTag, 30 );
   break;
  case 10:
   ok= TestDatum( nTag, 31 );
   break;
  case 11:
   ok= TestDatum( nTag, 30 );
   break;
  case 12:
   ok= TestDatum( nTag, 31 );
   break;
}

return ok;  

}

function DatumGueltig( strDatum )
{
var nTag, nMonat, nJahr;
var punkt1,punkt2;
var gueltig;
if (strDatum=="") return true;
gueltig=false
// auseinandernehmen
punkt1=strDatum.indexOf(".");
punkt2=punkt1+1+strDatum.indexOf(".",punkt1);
punkt2=strDatum.lastIndexOf(".")
nTag=strDatum.slice(0,punkt1);
nMonat=strDatum.slice(punkt1+1,punkt2)
nJahr=strDatum.slice(punkt2+1);
if (nJahr.length != 4 ) {
  alert("Ungültiges Datum ( "+strDatum+" ) !! Bitte geben Sie ein gültiges Datum ein (tt.mm.jjjj) ! " );
  return false;
}

gueltig=DatumGueltigEx( Number(nTag), Number(nMonat), Number(nJahr) );  
if (gueltig==false) alert("Ungültiges Datum ( "+strDatum+" ) !! Bitte geben Sie ein gültiges Datum ein (tt.mm.jjjj) ! " );  

return gueltig;  

}

Wenn nun noch jemand eine Lösung für mein Problem vom 12.7. bezüglich IIS hat, wäre ich überglücklich.

Gruß aus Potsdam
Peter