Voir ci-dessous . La fonction principale est isDate à laquelle vous pouvez passer le jour, le mois et l'année. Ce sont des fonctions javascript, donc il alerte un message pertinent et renvoie false.
Les jours en février calculeront le nombre de jours pour février pour l'année passée. DaysArray conserve un tableau du nombre de jours pour chaque mois.
var minYear=1900;
var maxYear=2100;
function daysInFebruary (year){
// February has 29 days in any year evenly divisible by four,
// EXCEPT for centurial years which are not also divisible by 400.
return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
}
function DaysArray(n) {
for (var i = 1; i <= n; i++) {
this[i] = 31
if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
if (i==2) {this[i] = 29}
}
return this
}
function isDate(strDay,strMonth,strYear){
var daysInMonth = DaysArray(12)
if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
for (var i = 1; i <= 3; i++) {
if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
}
month=parseInt(strMonth)
day=parseInt(strDay)
year=parseInt(strYr)
if (strMonth.length<1 || month<1 || month>12){
alert("Please enter a valid month")
return false
}
if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
alert("Please enter a valid day")
return false
}
if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
return false
}
return true
}
quel type de validation .. Ajoutez plus d'informations/ANTÉCÉDENTS sur ce que vous voulez valider. Avez-vous besoin de valider qu'un utilisateur doit choisir une valeur parmi les 3 listes déroulantes ou quoi ?? –