Non so se sono ancora in tempo a darti una risposta. Fino a ieri ero in ferie (e stavo anche molto bene).

La RE e` molto complessa, infatti, ma serve per controllare anche che febbraio abbia solo 28 giorni (non ho controllato, ma forse testa anche l'anno bisestile consentendo per febbraio 29 giorni).

Per come la vedo io hai due possibilita`:
- cercare una RE piu` semplice (che pero` fa meno controlli)
- modificare l'anno prima di darlo in pasto alla RE

Esempio per il punto 2:
var dd = document.NOMEFORM.NOMECAMPO.value; // stringa da modificare
var dt = dd.split(/[\/\.\-]/)[2];
var aa = parseInt(dt[2], 10);
if(aa<10) aa+=2000;
else if(aa<100) aa+=1900;
dd = ""+dt[0]+"/"+dt[1]+"/"+aa;
// ora dd va passato attraverso la RE di cui sopra.