September accepteres ikke, når jeg validerer dato.
En underlig ting:Jeg bruger følgende script til validering af dato (to felter):
regex =/^(3[01]|0[0-9]|[12]\d)\/(0[1-9]|1[012])\/\d{4}/;
dato1 = "0"
//Check for firstinput
dat = document.frmEnquiry.firstinput.value;
if (dat == ""||!regex.test(dat)){
errorMsg += "\n\tFørste overnatning \t- Indtast første nat i dette format: (DD/MM/ÅÅÅÅ)\n";
}else{
dat = dat.split("/");
var tdate = new Date(parseInt(dat[2]),parseInt(dat[1])-1,parseInt(dat[0]));
if (tdate.getDate()!=parseInt(dat[0])||tdate.getMonth()+1!=parseInt(dat[1])||tdate.getFullYear()!=parseInt(dat[2])){
errorMsg += "\n\tFørste overnatning \t- Ugyldig dato (DD/MM/ÅÅÅÅ)\n";
}else{dato1=tdate.getTime();
var chdato = new Date().getTime()+ (24*60*60*1000);
if (chdato>dato1)
errorMsg += "\n\tFørste overnatning \t- Når du benytter denne formular,\n\t\t\t kan du tidligst bestille to dage frem\n"
};
}
//Check for secondinput
dat = document.frmEnquiry.secondinput.value;
// alert(dat);
if (dat == ""||!regex.test(dat)){
errorMsg += "\n\tSidste overnatning \t- Indtast sidste nat i dette format: (DD/MM/ÅÅÅÅ)\n";
}else{
dat = dat.split("/");
var tdate = new Date(parseInt(dat[2]),parseInt(dat[1])-1,parseInt(dat[0]));
if (tdate.getDate()!=parseInt(dat[0])||tdate.getMonth()+1!=parseInt(dat[1])||tdate.getFullYear()!=parseInt(dat[2])){
errorMsg += "\n\tSidste overnatning \t- Ugyldig dato (DD/MM/ÅÅÅÅ)\n";
}else{
if(dato1>tdate.getTime())
errorMsg += "\n\tSidste overnatning \t- Dato kan ikke være tidligere end første nat\n"
}
}
Mit problem er, at hvis jeg indtaster en hvilken som helst dato i september måned (f.eks. 01/09/2003) får jeg fejlmeldingen "UGYLDIG DATO (DD/MM/ÅÅÅÅ)"
Eksempel på scriptet kan ses on-line her:
http://www.staal-larsen.dk/mail/contact_test2.htm
