Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2010, 12:54
Jesijames
 
Fecha de Ingreso: julio-2010
Mensajes: 38
Antigüedad: 13 años, 8 meses
Puntos: 0
Campos para calcular edad

HOLA, TENGO ÉSTE CÓDIGO EN JAVASCRIPT DONDE SE LLEVA A CABO EL CALCULO DE LA EDAD DE UNA PERSONA MEDIANTE EL INGRESO DE LA FECHA DE NACIMIENTO DE LA MISMA.
MI PROFESOR DE DISEÑO WEB ME PIDE " los campos que debe ingresar el usuario" Y UN BOTÓN, NO SE COMO SE HACE Y ME ESTOY VOLVIENDO LOCA.
EL CÓDIGO ES EL SIGUIENTE:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cálculo de la edad de una persona con Javascript</title>

<script type="text/javascript" >
//calcular la edad de una persona
//recibe la fecha como un string en formato español
//devuelve un entero con la edad. Devuelve false en caso de que la fecha sea incorrecta o mayor que el dia actual
function calcular_edad(fecha){
//calculo la fecha de hoy
hoy=new Date(dia,mes,ano)
dia=dia.getDate
mes=mes.getMonth
ano=ano.getYear
//alert(hoy)

//calculo la fecha que recibo
//La descompongo en un array
var Array fecha = fecha.split("/")
//si el array no tiene tres partes, la fecha es incorrecta
if (Array fecha.length!=3)
return false

//compruebo que los ano, mes, dia son correctos
var ano
ano = parseInt(Array fecha[2]);
if (isNaN(ano))
return false

var mes
mes = parseInt(Array fecha[1]);
if (isNaN(mes))
return false

var dia
dia = parseInt(Array fecha[0]);
if (isNaN(dia))
return false


//si el año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
if (ano<=99)
ano +=1900

//resto los años de las dos fechas
edad=hoy.getYear()- ano - 1; //-1 porque no se si ha cumplido años ya este año

//si resto los meses y me da menor que 0 entonces no ha cumplido años. Si da mayor si ha cumplido
if (hoy.getMonth() + 1 - mes < 0) //+ 1 porque los meses empiezan en 0
return edad
if (hoy.getMonth() + 1 - mes > 0)
return edad+1

//entonces es que eran iguales. miro los dias
//si resto los dias y me da menor que 0 entonces no ha cumplido años. Si da mayor o igual si ha cumplido
if (hoy.getDate() - dia >= 0)
return edad + 1

return edad
}

</script>
</head>
si me pueden ayudar será mejor para mi salud mental
Gracias