pippo è nato il 10/6/1985 e oggi è il 9/6/2003
pippo ha 18 anni per lo script che ho fatto... in realtà i 18 anni li farà domani... visto che non tutti gli anni sono di 365 giorni si potrebbe fare così
codice:
function anni(ff){
strData = ff.datanascita.value
RE = /^\d{1,2}\/\d{1,2}\/\d{4}$/
if(RE.test(strData)){
aData = strData.split('/')
aData[0] = parseInt(aData[0],10)
aData[1] = parseInt(aData[1],10)-1
aData[2] = parseInt(aData[2],10)
data = new Date(aData[2],aData[1],aData[0])
if(data.getDate()==aData[0] && data.getMonth()==aData[1] && data.getFullYear()==aData[2]){
oggi = new Date()
oggi = new Date(oggi.getFullYear(),oggi.getMonth(),oggi.getDate())
compleanno = new Date(oggi.getFullYear(),aData[1],aData[0])
dif = oggi.getTime()-compleanno.getTime()
divisore = (1000*60*60*24)
giorni = parseInt(dif/divisore)
anni = oggi.getFullYear()-data.getFullYear()
anni=(giorni<0)?anni-1:anni
alert(compleanno+'\n'+oggi+'\nanni in javascript = '+anni)
return true
}
else{
alert('Data non valida')
return false
}
}
else{
alert('Formato data non valido')
return false
}
}