Foros del Web » Programando para Internet » Javascript »

validacion de campo fecha de nacimiento en formularios

Estas en el tema de validacion de campo fecha de nacimiento en formularios en el foro de Javascript en Foros del Web. Hola..estoy validando un forulario que hice en dreamweaver y php, con lo que estoy ahora es con la validacion de la fecha de nacimiento y ...
  #1 (permalink)  
Antiguo 14/06/2005, 16:44
 
Fecha de Ingreso: junio-2005
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
Exclamación validacion de campo fecha de nacimiento en formularios

Hola..estoy validando un forulario que hice en dreamweaver y php, con lo que estoy ahora es con la validacion de la fecha de nacimiento y los numeros decimales pero probe con algunos ejemplos y nada, por ejemplo esto q encontre para la fecha(aqui solo esta del 99 al 2020)
function validacion(formulario) {
//fechas, formato dd/mm/aaaa o d/m/aa
var er_mes31dias = /^([1-3]0|[0-2][1-9]|31|[0-9])\/(1|01|3|03|5|05|7|07|8|08|10|12)\/(1999|20[0-1][0-9]|2020)$/
var er_mes30dias = /^([1-3]0|[0-2][1-9]|[0-9])\/(4|04|6|06|9|09|11)\/(1999|20[0-1][0-9]|2020)$/
var er_mes28dias = /^([1-2]0|[0-2][1-8]|[0-1]9|[0-9])\/(02|2)\/(1999|200[1-3]|200[5-7]|2009|201[0-1]|201[3-5]|201[7-9])$/
var er_mes29dias = /^([1-2]0|[0-2][1-9]|[0-9])\/(02|2)\/(2000|2004|2008|2012|2016|2020)$/

//comprueba la fecha segun calendario (hasta el 2020)
if (!(er_mes31dias.test(formulario.fecha.value) ||
er_mes30dias.test(formulario.fecha.value) ||
er_mes29dias.test(formulario.fecha.value) ||
er_mes28dias.test(formulario.fecha.value))) {
alert('Contenido del campo FECHA no válido.')
return false
}
}
pero si pongo un año menor a 1999 no lo acepta(por obvias razones)..necesito ayuda para resolver esto ya sea siguiendo la linea de expresion q hay aqui o de alguna otra forma..pero ayuda urgente!!
gracias
  #2 (permalink)  
Antiguo 15/06/2005, 12:48
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola, lita, y bienvenida al foro
Hace algún tiempo hice una validación de fechas que usa las funciones de fecha internas de javascript, con lo cual sirve para cualquier año y no tienes que andar comporbando meses etc. Espero que te sirva:
Código HTML:
Validar fecha:
<script>
function esFecha(formu)
{
	var elDia=formu.txt_dia.value
	var elMes=formu.txt_mes.value-1
	var elAnio=formu.txt_anio.value
	var ff = new Date(elAnio, elMes, elDia)
	if ( ff.getDate() != elDia ) return false
	if ( ff.getMonth() != elMes ) return false
	if ( ff.getFullYear() != elAnio ) return false
	return true
}

</script>
<form>
<input type="text" name="txt_dia" size="4">/
<input type="text" name="txt_mes" size="4">/
<input type="text" name="txt_anio" size="4">
<input type="button" value="Validar fecha" onClick="alert(esFecha(this.form))">
</form> 
__________________
Angel :cool:
  #3 (permalink)  
Antiguo 15/06/2005, 14:08
 
Fecha de Ingreso: junio-2005
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
gracias..ahorita mismo pruebo

muchas gracias ahorita estoy haciendo la prueba con la gramatica q ya termine para cada año de 31, 30, 28 y 29 dias pero esto es mas corto y mas practico..gracias otra vez
  #4 (permalink)  
Antiguo 15/06/2005, 14:21
 
Fecha de Ingreso: junio-2005
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta una duda mas

en cuanto a la validacion del campo para el promedio general(un numero real sin signo) defino una variable q tiene la gramatica para el campo y en un if pregunto si es valido...pero a la hora de poner este if en mi codigo de la validacion del formulario..me deja pasar a la confirmacion de los datos sin validar nada, pero si lo quito todo se calma y me hace la revision de campo por campo tal cual deberia ser...porq esq pasa esto???

var er_real = /^([0-9]*\.?[0-9]*)$//defino la gramatica valida para el numero real

var prom_gral=er_real//se la asigo a la variable prom_gral q recojo en mi formulario

//dentro del codigo pongo este if y hace q ninguna validacion se haga y deje pasar al siguiente form :(
if (!(prom_gral.test(formulario.prom_gral.value)){
alert('contenido del campo PROMEDIO GENERAL DE LICENCIATURA no válido')
return false
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:41.