... aggiungendo delle parentesi non mi da più errore, e fa il controllo, ma mi restituisce sempre falese (anche se questa volta supera l'if).
codice:
function verifyDateFormat(DateString, DateFormat) {
var match;
var tmpDate;
var gg='',mm='',aa='';
var RE = new Array();
RE['it'] = /^([0-3]\d)[\/\.]([01]\d)[\/\.](\d{4})$/
RE['en'] = /^([01]\d)[\/\.]([0-3]\d)[\/\.](\d{4})$/
RE['gen'] = /^(\d{4})[\/\.]([01]\d)[\/\.]([0-3]\d)$/
if(!(match=DateString.match(RE[DateFormat]))) {
return false;
}
alert("punto 1");
switch(DateFormat) {
case "it":
gg = match[0];
mm = parseInt(match[1])-1;
aa = match[2];
break;
case "en":
mm = parseInt(match[0])-1;
gg = match[1];
aa = match[2];
break;
case "gen":
aa = match[0];
mm = parseInt(match[1])-1;
gg = match[2];
break;
}
tmpDate = new Date(aa, mm, gg);
return (tmpDate.getMonth()+1==mm) && (tmpDate.getDate()==gg) && tmpDate.getFullYear()==aa;
}
var a="31/12/2004";
alert(verifyDateFormat(a, "it") );
Ho inserito un alert per verificare fino a dove arriva lo script