JavaScript - calculo de edad en javascript

 
Vista:
sin imagen de perfil

calculo de edad en javascript

Publicado por zendi (90 intervenciones) el 08/11/2014 01:48:39
tengo este codigo en javascript para calcular la edad a partir de la fecha de nacimiento:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function calcularEdad()
{
    var fecha=document.getElementById("user_date").value;
 
        var values=fecha.split("/");
        var dia = values[0];
        var mes = values[1];
        var ano = values[2];
        fecha=	dia+"/"+mes	+"/"+ano;
 
    if(validate_fecha(fecha)==true)
    {
        // Si la fecha es correcta, calculamos la edad
        var values=fecha.split("/");
 
		var dia = values[0];
        var mes = values[1];
        var ano = values[2];
		//alert(ano);
        // cogemos los valores actuales
        var fecha_hoy = new Date();
        var ahora_ano = fecha_hoy.getYear();
        var ahora_mes = fecha_hoy.getMonth();
        var ahora_dia = fecha_hoy.getDate();
 
        // realizamos el calculo
        var edad = (ahora_ano + 1900) - ano;
        if ( ahora_mes < (mes - 1))
        {
            edad--;
        }
        if (((mes - 1) == ahora_mes) && (ahora_dia < dia))
        {
            edad--;
        }
        if (edad > 1900)
        {
            edad -= 1900;
        }
          alert("si");
        document.getElementById("result").innerHTML="Tienes "+edad+" años";
    }
	else
	{
        document.getElementById("result").innerHTML="La fecha "+fecha+" es incorrecta";
    }
}


y la idea es reflejarlo con un Onblur asi:

1
2
3
4
5
6
7
8
<TR>
	<td>Fecha de Nac.:</td>
<td><input type="text" size=10 maxlength=10 name="fechanac" onKeyUp="mascara(this,'/',patron,true)">
 
    <input type="text" size=10 onblur="calcularEdad(this.value);">
 
   </td>
</TR>
pero no refleja el resultado, tal vez falta algo que no puedo captar Si pueden ayudarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

calculo de edad en javascript

Publicado por xve (2100 intervenciones) el 08/11/2014 08:55:18
Hola Zendi, el problema creo que esta que la función calcularEdad() no espera ninguna variable, y tu le estas enviando el value...

O modificas la función para que reciba un valor, o le tienes que poner el id user_date al input... prueba así:

1
<input type="text" size=10 onblur="calcularEdad();" id="user_date">

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de edad en javascript

Publicado por zendi (90 intervenciones) el 08/11/2014 18:35:28
hola Xve, no funcionó.
e incluso le coloque el this.value
1
<input type="text" size=10 onblur="calcularEdad(this.value);" id="user_date">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

calculo de edad en javascript

Publicado por xve (2100 intervenciones) el 08/11/2014 20:28:36
Hola Zendi, en tu función de js, coges el valor del id user_date
1
var fecha=document.getElementById("user_date").value;

Puede ser que el problema este en otro lado... que error te da? o que no hace que debería de hacer?

La función validate_fecha() existe verdad? nos la puedes mostrar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de edad en javascript

Publicado por zendi (90 intervenciones) el 09/11/2014 00:44:53
Que tal Xve. Si te envio la funcion que me pides mas la anterior con el input type text que debe recibir el OnBlur cuando recibe el calculo de la edad.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function validate_fecha(fecha)
{
    //var patron=new RegExp("^(19|20)+([0-9]{2})([/-])([0-9]{1,2})([-])([0-9]{1,2})$");
    var patron=new RegExp("^([0-9]{1,2})([/])([0-9]{1,2})([/])(19|20)+([0-9]{2})$");
	alert(fecha+"hola2");
	alert(patron);
    if(fecha.search(patron)==0)
    { alert("hola3");
        var values=fecha.split("/");
        if(isValidDate(values[0],values[1],values[2]))
        {alert("hola4");
            return true;
        }
    }
	alert("hola5");
    return false;
}
 
function calcularEdad()
{
    var fecha=document.getElementById("user_date").value;
 
        var values=fecha.split("/");
        var dia = values[0];
        var mes = values[1];
        var ano = values[2];
        fecha=	dia+"/"+mes	+"/"+ano;
 
    if(validate_fecha(fecha)==true)
    {
        // Si la fecha es correcta, calculamos la edad
        var values=fecha.split("/");
 
		var dia = values[0];
        var mes = values[1];
        var ano = values[2];
		//alert(ano);
        // cogemos los valores actuales
        var fecha_hoy = new Date();
        var ahora_ano = fecha_hoy.getYear();
        var ahora_mes = fecha_hoy.getMonth();
        var ahora_dia = fecha_hoy.getDate();
 
        // realizamos el calculo
        var edad = (ahora_ano + 1900) - ano;
 
        if ( ahora_mes < (mes - 1))
        {
            edad--;
        }
        if (((mes - 1) == ahora_mes) && (ahora_dia < dia))
        {
            edad--;
        }
        if (edad > 1900)
        {
            edad -= 1900;
        }
        document.getElementById("result").innerHTML="Tienes "+edad+" años";
    }
	else
	{
        document.getElementById("result").innerHTML="La fecha "+fecha+" es incorrecta";
    }
}

1
2
3
4
5
6
7
8
9
<TR>
	<td>Fecha de Nac.:</td>
<td><input type="text" size=10 maxlength=10 name="user_date"onKeyUp="mascara(this,'/',patron,true)">
 
este input type debiera recibir la edad como resultado
 
   <input type="text" size=10 onblur="calcularEdad(this.value);" name="user_date" id="user_date">
   </td>
</TR>
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

calculo de edad en javascript

Publicado por xve (2100 intervenciones) el 09/11/2014 09:18:28
Hola Zendi, en la función validate_fecha() llamas a otra función denominada isValidDate()

Nos la puedes adjuntar para poder probarlo? ahora mismo me da error ahí.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de edad en javascript

Publicado por zendi (90 intervenciones) el 09/11/2014 13:40:09
si esta es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function isValidDate(day,month,year)
{
    var dteDate;
 
    // En javascript, el mes empieza en la posicion 0 y termina en la 11 
    //   siendo 0 el mes de enero
    // Por esta razon, tenemos que restar 1 al mes
    month=month-1;
    // Establecemos un objeto Data con los valore recibidos
    // Los parametros son: año, mes, dia, hora, minuto y segundos
    // getDate(); devuelve el dia como un entero entre 1 y 31
    // getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes,
    //   martes, miercoles ...
    // getHours(); Devuelve la hora
    // getMinutes(); Devuelve los minutos
    // getMonth(); devuelve el mes como un numero de 0 a 11
    // getTime(); Devuelve el tiempo transcurrido en milisegundos desde el 1
    //   de enero de 1970 hasta el momento definido en el objeto date
    // setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
    // getYear(); devuelve el año
    // getFullYear(); devuelve el año
    dteDate=new Date(year,month,day);
    //alert(((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear())));
    //Devuelva true o false...
    return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de edad en javascript

Publicado por zendi (90 intervenciones) el 09/11/2014 19:33:45
comenten por favor.

esta son las funciones:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
function validate_fecha(fecha)
{
    //var patron=new RegExp("^(19|20)+([0-9]{2})([/-])([0-9]{1,2})([-])([0-9]{1,2})$");
    var patron=new RegExp("^([0-9]{1,2})([/])([0-9]{1,2})([/])(19|20)+([0-9]{2})$");
//	alert(fecha+"hola2");
//	alert(patron);	
    if(fecha.search(patron)==0)
    { //alert("hola3");
        var values=fecha.split("/");
        if(isValidDate(values[0],values[1],values[2]))
        {//alert("hola4");
            return true;
        }
    }
	//alert("hola5");
    return false;
}
 
function isValidDate(day,month,year)
{
    var dteDate;
 
    // En javascript, el mes empieza en la posicion 0 y termina en la 11 
    //   siendo 0 el mes de enero
    // Por esta razon, tenemos que restar 1 al mes
    month=month-1;
    // Establecemos un objeto Data con los valore recibidos
    // Los parametros son: año, mes, dia, hora, minuto y segundos
    // getDate(); devuelve el dia como un entero entre 1 y 31
    // getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes,
    //   martes, miercoles ...
    // getHours(); Devuelve la hora
    // getMinutes(); Devuelve los minutos
    // getMonth(); devuelve el mes como un numero de 0 a 11
    // getTime(); Devuelve el tiempo transcurrido en milisegundos desde el 1
    //   de enero de 1970 hasta el momento definido en el objeto date
    // setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
    // getYear(); devuelve el año
    // getFullYear(); devuelve el año
    dteDate=new Date(year,month,day);
    //alert(((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear())));
    //Devuelva true o false...
    return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}
 
 
function calcularEdad()
{
    var fecha=document.getElementById("user_date").value;
 
        var values=fecha.split("/");
        var dia = values[0];
        var mes = values[1];
        var ano = values[2];
        fecha=	dia+"/"+mes	+"/"+ano;
 
    if(validate_fecha(fecha)==true)
    {
        // Si la fecha es correcta, calculamos la edad
        var values=fecha.split("/");
 
		var dia = values[0];
        var mes = values[1];
        var ano = values[2];
		//alert(ano);
        // cogemos los valores actuales
        var fecha_hoy = new Date();
        var ahora_ano = fecha_hoy.getYear();
        var ahora_mes = fecha_hoy.getMonth();
        var ahora_dia = fecha_hoy.getDate();
 
        // realizamos el calculo
        var edad = (ahora_ano + 1900) - ano;
 
        if ( ahora_mes < (mes - 1))
        {
            edad--;
        }
        if (((mes - 1) == ahora_mes) && (ahora_dia < dia))
        {
            edad--;
        }
        if (edad > 1900)
        {
            edad -= 1900;
        }
        document.getElementById("result").innerHTML="Tienes "+edad+" años";
    }
	else
	{
        document.getElementById("result").innerHTML="La fecha "+fecha+" es incorrecta";
    }
}

1
2
3
4
5
6
7
<TR>
	<td>Fecha de Nac.:</td>
<td><input type="text" size=10 maxlength=10 name="user_date" onKeyUp="mascara(this,'/',patron,true)">
    <input type="text" size=10 onblur="calcularEdad(this.value);" name="user_date" id="user_date">
 
   </td>
</TR>

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

calculo de edad en javascript

Publicado por xve (2100 intervenciones) el 09/11/2014 20:36:49
Hola Zendi, la verdad es que no entiendo nada... he codigo todo tu código, lo he puesto en un archivo .html y funciona a la perfección...

Copia este código en un archivo html y abrelo!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="utf-8">
 
	<script>
	function validate_fecha(fecha)
    {
        //var patron=new RegExp("^(19|20)+([0-9]{2})([/-])([0-9]{1,2})([-])([0-9]{1,2})$");
        var patron=new RegExp("^([0-9]{1,2})([/])([0-9]{1,2})([/])(19|20)+([0-9]{2})$");
    //  alert(fecha+"hola2");
    //  alert(patron);  
        if(fecha.search(patron)==0)
        { //alert("hola3");
            var values=fecha.split("/");
            if(isValidDate(values[0],values[1],values[2]))
            {//alert("hola4");
                return true;
            }
        }
        //alert("hola5");
        return false;
    }
 
    function isValidDate(day,month,year)
    {
        var dteDate;
 
        // En javascript, el mes empieza en la posicion 0 y termina en la 11 
        //   siendo 0 el mes de enero
        // Por esta razon, tenemos que restar 1 al mes
        month=month-1;
        // Establecemos un objeto Data con los valore recibidos
        // Los parametros son: año, mes, dia, hora, minuto y segundos
        // getDate(); devuelve el dia como un entero entre 1 y 31
        // getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes,
        //   martes, miercoles ...
        // getHours(); Devuelve la hora
        // getMinutes(); Devuelve los minutos
        // getMonth(); devuelve el mes como un numero de 0 a 11
        // getTime(); Devuelve el tiempo transcurrido en milisegundos desde el 1
        //   de enero de 1970 hasta el momento definido en el objeto date
        // setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
        // getYear(); devuelve el año
        // getFullYear(); devuelve el año
        dteDate=new Date(year,month,day);
        //alert(((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear())));
        //Devuelva true o false...
        return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
    }
 
 
    function calcularEdad()
    {
        var fecha=document.getElementById("user_date").value;
 
            var values=fecha.split("/");
            var dia = values[0];
            var mes = values[1];
            var ano = values[2];
            fecha=  dia+"/"+mes +"/"+ano;
 
        if(validate_fecha(fecha)==true)
        {
            // Si la fecha es correcta, calculamos la edad
            var values=fecha.split("/");
 
            var dia = values[0];
            var mes = values[1];
            var ano = values[2];
            //alert(ano);
            // cogemos los valores actuales
            var fecha_hoy = new Date();
            var ahora_ano = fecha_hoy.getYear();
            var ahora_mes = fecha_hoy.getMonth();
            var ahora_dia = fecha_hoy.getDate();
 
            // realizamos el calculo
            var edad = (ahora_ano + 1900) - ano;
 
            if ( ahora_mes < (mes - 1))
            {
                edad--;
            }
            if (((mes - 1) == ahora_mes) && (ahora_dia < dia))
            {
                edad--;
            }
            if (edad > 1900)
            {
                edad -= 1900;
            }
            document.getElementById("result").innerHTML="Tienes "+edad+" años";
        }
        else
        {
            document.getElementById("result").innerHTML="La fecha "+fecha+" es incorrecta";
        }
    }
	</script>
</head>
 
<body>
<input type="text" size=10 onblur="calcularEdad(this.value);" name="user_date" id="user_date">
<div id="result"></div>
</body>
</html>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de edad en javascript

Publicado por zendi (90 intervenciones) el 09/11/2014 21:42:05
Hola Xve, bueno ahora si lo hace muy bien. pero disculpa tanta insistencia pero el asunto es que esas funciones que te envie estan dentro de otro formulario de nombre Form1, por supuesto si lo hace en si mismo, pero dentro del otro formulario no lo hace, claro no te lo envié completo para evitar que te confundieras en la revision.

Pero te lo envio completo, ya lo he probado en forma completa y sigue igual y la verdad disculpa la inistencia amigo.

te reintero las disculpas.

el input type text, las funciones y el nombre del formulario estan en negrita


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<?php
   $connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=1234");
   $vacunas = "SELECT * FROM vacunas ORDER BY descripcion";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <script language="JavaScript" src="calendario.js"></script>
      <script language="JavaScript" src="overlib_mini.js"></script>
<SCRIPT type="text/javascript">
var patron = new Array(2,2,4)
var patron2 = new Array(1,3,3,3,3)
function mascara(d,sep,patron,nums)
 
 
{
if(d.valant != d.value){
	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++){
		val2 += val[r]
	}
	if(nums){
		for(z=0;z<val2.length;z++){
		  if(isNaN(val2.charAt(z))){
			letra = new RegExp(val2.charAt(z),"g")
			val2 = val2.replace(letra,"")
		   }
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<patron.length; s++){
		val3[s] = val2.substring(0,patron[s])
		val2 = val2.substr(patron[s])
	}
	for(q=0;q<val3.length; q++){
		if(q ==0){
			val = val3[q]
		}
		else{
			if(val3[q] != ""){
				val += sep + val3[q]
			}
		}
	}
	d.value = val
	d.valant = val
	}
}
 
 
/***/
function validatePass(campo) {
    var RegExPattern = /(^[0-9]+.[0-9]+$)/;
    var errorMessage = 'Debe Escribir el Peso con un punto y decimales';
    if ((campo.value.match(RegExPattern)) && (campo.value!='')) {
    } else {
        alert(errorMessage);
        campo.focus();
    }
}
 
function validateTalla(talla) {
    var RegExPattern = /(^[0-9]+.[0-9]+$)/;
    var errorMessage = 'Debe Escribir la Talla con un punto y decimales';
    if ((talla.value.match(RegExPattern)) && (talla.value!='')) {
    } else {
        alert(errorMessage);
        talla.focus();
    }
}
 
function validateCircEncef(circenc) {
    var RegExPattern = /(^[0-9]+.[0-9]+$)/;
    var errorMessage = 'Debe Escribir el Perimetro Craneal con un punto y decimales';
    if ((circenc.value.match(RegExPattern)) && (circenc.value!='')) {
    } else {
        alert(errorMessage);
        circenc.focus();
    }
}
 
function validateCircBrazo(circbra) {
    var RegExPattern = /(^[0-9]+.[0-9]+$)/;
    var errorMessage = 'Debe Escribir la Circunferencia del Brazo con un punto y decimales';
    if ((circbra.value.match(RegExPattern)) && (circbra.value!='')) {
    } else {
        alert(errorMessage);
        circbra.focus();
    }
}
//
 
function validate_fecha(fecha)
{
    //var patron=new RegExp("^(19|20)+([0-9]{2})([/-])([0-9]{1,2})([-])([0-9]{1,2})$");
    var patron=new RegExp("^([0-9]{1,2})([/])([0-9]{1,2})([/])(19|20)+([0-9]{2})$");
//	alert(fecha+"hola2");
//	alert(patron);	
    if(fecha.search(patron)==0)
    { //alert("hola3");
        var values=fecha.split("/");
        if(isValidDate(values[0],values[1],values[2]))
        {//alert("hola4");
            return true;
        }
    }
	//alert("hola5");
    return false;
}
 
function isValidDate(day,month,year)
{
    var dteDate;
 
    // En javascript, el mes empieza en la posicion 0 y termina en la 11 
    //   siendo 0 el mes de enero
    // Por esta razon, tenemos que restar 1 al mes
    month=month-1;
    // Establecemos un objeto Data con los valore recibidos
    // Los parametros son: año, mes, dia, hora, minuto y segundos
    // getDate(); devuelve el dia como un entero entre 1 y 31
    // getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes,
    //   martes, miercoles ...
    // getHours(); Devuelve la hora
    // getMinutes(); Devuelve los minutos
    // getMonth(); devuelve el mes como un numero de 0 a 11
    // getTime(); Devuelve el tiempo transcurrido en milisegundos desde el 1
    //   de enero de 1970 hasta el momento definido en el objeto date
    // setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
    // getYear(); devuelve el año
    // getFullYear(); devuelve el año
    dteDate=new Date(year,month,day);
    //alert(((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear())));
    //Devuelva true o false...
    return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
}
 
 
function calcularEdad()
{
    var fecha=document.getElementById("user_date").value;
 
        var values=fecha.split("/");
        var dia = values[0];
        var mes = values[1];
        var ano = values[2];
        fecha=	dia+"/"+mes	+"/"+ano;
 
    if(validate_fecha(fecha)==true)
    {
        // Si la fecha es correcta, calculamos la edad
        var values=fecha.split("/");
 
		var dia = values[0];
        var mes = values[1];
        var ano = values[2];
		//alert(ano);
        // cogemos los valores actuales
        var fecha_hoy = new Date();
        var ahora_ano = fecha_hoy.getYear();
        var ahora_mes = fecha_hoy.getMonth();
        var ahora_dia = fecha_hoy.getDate();
 
        // realizamos el calculo
        var edad = (ahora_ano + 1900) - ano;
 
        if ( ahora_mes < (mes - 1))
        {
            edad--;
        }
        if (((mes - 1) == ahora_mes) && (ahora_dia < dia))
        {
            edad--;
        }
        if (edad > 1900)
        {
            edad -= 1900;
        }
        document.getElementById("result").innerHTML="Tienes "+edad+" años";
    }
	else
	{
        document.getElementById("result").innerHTML="La fecha "+fecha+" es incorrecta";
    }
}
 
 
 
 
</script>
<title>Pacientes</title>
</head>
 
<body>
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<form action="cargapacientes.php" method="POST" name="form1">
<!--<fieldset style='width:auto'><LEGEND>Ingreso Paciente</LEGEND> 
-->
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=1234");
?>
   <table bgcolor="#CCFF99" align="center">
      <tr>
	    <td >Nro de Historia:</td>
<?php
$hoy=date('d-m-Y');
$query= pg_query("SELECT max(nrohistoria)+1 as MaxNroHistoria FROM paciente");
 if ($row = pg_fetch_row($query))
 {
  $id = str_pad(trim($row[0]),4,"0",STR_PAD_LEFT);
 }
?>
<td class='sr'><input type='text' readonly="T" value="<?php echo $id; ?>" name='nrohistoria' size='10' maxlength='10' align='right'/></td></tr>
	  <tr>
		<td class="sr" align='right' style="text-decoration:none">Nombres:</td>
		<td class="sr"><input type="text" name="nombres" size="50" maxlength="50" align="right"/></td>
	  </tr>
 
	  <tr>
		<td class="sr" align='right' style="text-decoration:none">Apellidos:</td>
		<td class="sr"><input type="text" name="apellidos" size="50" maxlength="50" align="right"/></td>
	  </tr>
 
	  <tr>
		<td class="sr" align='right' style="text-decoration:none">Direccion:</td>
		<td class="sr"><input type="text" name="direccion" size="120" maxlength="120" align="right"/>
		</td>
	  </tr>
	  <tr>
		<td class="sr" align='right' style="text-decoration:none">Telefono:</td>
		<td class="sr"><input type="text" name="telefono" size="10" maxlength="10" align="right"/>
		</td>
	  </tr>
<TR>
	<td>Fecha de Nac.:</td>
<td><input type="text" size=10 maxlength=10 onKeyUp="mascara(this,'/',patron,true)">
    <input type="text" size=10 onBlur="calcularEdad(this.value);" name="user_date" id="user_date">
 
 
   </td>
</TR>
 
 
 
	   </table>
<table align="center">
   <tr>
    <td>
         <input class="color1" type="submit" name="action" value="Guardar"/>
         <input class="color1" type="reset" value="Deshacer">
    </td>
    </tr>
</table>
 
</form>
 
 
 
 
</body>
 
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

calculo de edad en javascript

Publicado por zendi (90 intervenciones) el 09/11/2014 22:04:58
Hola Xve, no te molestes en revisar nada y disculpa, ya lo resolví

lo que hice fue colocar este input type text:

1
2
<input type="text" size=10 onblur="calcularEdad(this.value);" name="user_date" id="user_date" onkeyup="mascara(this,'/',patron,true)">
<div id="result"></div>
y listo,

resuelto este problema y gracias amigo siempre ayudas a uno en los aprietos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

calculo de edad en javascript

Publicado por xve (2100 intervenciones) el 10/11/2014 07:55:05
Gracias por comentarlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar