calcular edad

4
Este es el contenido del archivo calcularedad.html <!DOCTYPE HTML> <html> <head> <title>Calcular la edad a partir de la fecha de nacimiento</title> <script type="text/javascript" src="./jscript/edad.js"></script> </head> <body bgcolor="FFFFF2" text="008500"> <form name="formaedad">fecha de nacimiento <input type=text name="edad" size=15 onFocus="ClearForm1(this.form)"> <input type="button" value="Calcular edad" onClick="calcular_edad(document.formaedad.edad.value)"> <br> <br> <br> La edad es: <input type=text name="edad1" size=10> </form> </body> </html> Para cuando vayan a crear el archivo de javascrip en el editor comodo seleccionen la opción JavaScript (Ver figura), para que solo pongan el nombre del archivo que este caso se llama edad y el editor automáticamente asumirá la extensión js. O sea que nuestro archivo se llamara edad.js. Recuerden de crear una subcarpeta dentro de la carpeta que contendrá el archivo html la cual la llamaran jscript para que todo funcione bien.

Transcript of calcular edad

Page 1: calcular edad

Este es el contenido del archivo calcularedad.html

<!DOCTYPE HTML>

<html>

<head>

<title>Calcular la edad a partir de la fecha de nacimiento</title>

<script type="text/javascript" src="./jscript/edad.js"></script>

</head>

<body bgcolor="FFFFF2" text="008500">

<form name="formaedad">fecha de nacimiento

<input type=text name="edad" size=15 onFocus="ClearForm1(this.form)">

<input type="button" value="Calcular edad" onClick="calcular_edad(document.formaedad.edad.value)"> <br> <br> <br>

La edad es: <input type=text name="edad1" size=10>

</form>

</body>

</html>

Para cuando vayan a crear el archivo de javascrip en el editor comodo seleccionen la opción JavaScript (Ver figura), para que solo pongan el nombre del

archivo que este caso se llama edad y el editor automáticamente asumirá la extensión js. O sea que nuestro archivo se llamara edad.js.

Recuerden de crear una subcarpeta dentro de la carpeta que contendrá el archivo html la cual la llamaran jscript para que todo funcione

bien.

Page 2: calcular edad

Este es el contenido del archivo edad.js

//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();

//calculo la fecha que recibo

//La descompongo en un array

var array_fecha = fecha.split("/");

Page 3: calcular edad

//si el array no tiene tres partes, la fecha es incorrecta

if (array_fecha.length!=3)

return alert("Error en la fecha");

//compruebo que los ano, mes, dia son correctos

var ano;

ano = parseInt(array_fecha[2]);

if (isNaN(ano))

return alert("Error en la fecha");

var mes;

mes = parseInt(array_fecha[1]);

if (isNaN(mes))

return alert("Error en la fecha");

var dia;

dia = parseInt(array_fecha[0]);

if (isNaN(dia))

return alert("Error en la fecha");

//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.getFullYear()- ano - 1; //-1 porque no se si ha cumplido años ya este año

//+ 1 porque los meses empiezan en 0

if (hoy.getMonth() + 1 - mes == 0)

{

Page 4: calcular edad

//entonces los mese 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.getUTCDate() - dia >= 0)

return document.formaedad.edad1.value=edad + 1;

else

return document.formaedad.edad1.value=edad;

}

else

{

//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 document.formaedad.edad1.value=edad;

}

if (hoy.getMonth() + 1 - mes > 0)

{

return document.formaedad.edad1.value=edad + 1;

}

}

}

function ClearForm1(form){

form.edad.value="";

form.edad1.value="";

}