Foros del Web » Programando para Internet » Javascript »

validar febrero, abril, etc.

Estas en el tema de validar febrero, abril, etc. en el foro de Javascript en Foros del Web. Alguien me podria decir como validar lo siguiente: tengo tres select en un formulario., en donde los usuarios eligen su di, mes y año de ...
  #1 (permalink)  
Antiguo 24/06/2002, 22:39
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
validar febrero, abril, etc.

Alguien me podria decir como validar lo siguiente:
tengo tres select en un formulario., en donde los usuarios eligen su di, mes y año de nacimiento. Como podria validar siempre y cuando el dia no supere 28 estando en febrero y siendo año no bisiesto (aqui hasta 29). Tambien como validar si el dia no es 31 cuando es abril.
Ademas no se si hay que mirar otros errores en cuanto a fechas, falta comprobar otra cosa?
  #2 (permalink)  
Antiguo 25/06/2002, 01:01
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: validar febrero, abril, etc.

una aclaracion, me doy una idea de como seria si tuviese la fecha en una sola cadena, pero no se hacerlo con los tres campos por separado.
tampoco quiero armar una variable en otra pagina y verificar ahi, lo ideal seria en la misma pagina, en donde los tres campos estan separados, al momento d enviarse el form.
  #3 (permalink)  
Antiguo 25/06/2002, 01:48
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: validar febrero, abril, etc.

se me estan ocurriendo soluciones pero no se nada de javascript...
si le doy a una variable el valor document.form.campo.value y concateno tres como estos ya esta no?
pero no se concatenar, alguien me podria decir como?
  #4 (permalink)  
Antiguo 25/06/2002, 10:58
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: validar febrero, abril, etc.

?
  #5 (permalink)  
Antiguo 25/06/2002, 11:26
Avatar de mikel_gomez  
Fecha de Ingreso: febrero-2001
Mensajes: 482
Antigüedad: 23 años, 2 meses
Puntos: 3
Re: validar febrero, abril, etc.

Prueba a validar fechas con las funciones del ejemplo que adjunto:

Código:
<html>
<head>
<script type="text/javascript">
function validaFecha(dia, mes, ano) {
var mesNum     = parseInt(mes,10)-1;
var fechaAno   = new Date(parseInt(ano,10),1,1);
var fechaDate  = new Date(parseInt(ano,10),mesNum,parseInt(dia,10));
return (fechaAno.getFullYear() == fechaDate.getFullYear() &&
mesNum == fechaDate.getMonth()) ? true : false;
}
function comprobarFecha() {
var dia = document.frm.dia[document.frm.dia.selectedIndex].value ;
var mes = document.frm.mes[document.frm.mes.selectedIndex].value ;
var ano = document.frm.ano[document.frm.ano.selectedIndex].value ;
alert('La fecha ' + ((validaFecha(dia,mes,ano))?'es válida':'NO es válida'));
}
</script>
</head>
<body>
<div>
Validación de fechas
<hr>
<form name="frm">
Día:
<select name="dia">
<option value=""></option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
Mes:
<select name="mes">
<option value=""></option>
<option value="01">Enero</option>
<option value="02">Febrero</option>
<option value="03">Marzo</option>
<option value="04">Abril</option>
</select>
Año:
<select name="ano">
<option value=""></option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
</select>
    
<input type="button" value="Validar" onclick="comprobarFecha();">
</form>
</div>
</body>
</html>
Saludos,

<style>.t{font: 8pt verdana; text-decoration: none; color: black;}</style><hr><span class="t"><a href="mailto:[email protected]" class="t" style="font: 10pt;">Mikel Gómez</a><br>Hay que aprender mucho para saber poco.</span>
  #6 (permalink)  
Antiguo 26/06/2002, 01:31
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: validar febrero, abril, etc.

Es una maravilla de funcion! Gracias.
  #7 (permalink)  
Antiguo 04/07/2002, 14:45
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Re: validar febrero, abril, etc.

yo tengo algo parecido, con diai,mesi,anoi que son los tres select q componen la fecha. Lugo tengo un cuadro de testo con el nombre de usuario y otro con el password. Pero a mi me da un problema es cuando entra en una fecha correcta a qui te pongo el codigo pa que lo pruebes y si logras solucionar ese pequeño problema rogaría me lo comentases.

&lt;html&gt;

&lt;head&gt;
&lt;title&gt;Formulario de entrada&lt;/title&gt;
&lt;/head&gt;

&lt;body topmargin=&quot;0&quot; leftmargin=&quot;0&quot; background=&quot;image/step.jpg&quot;&gt;
&lt;script language=&quot;JavaScript&quot;&gt;
&lt;!--
function informacion ( form )
{
if (form.diai.value == &quot;&quot;){
alert( &quot;Por favor, rellena el campo Día de Alta.&quot; );
form.diai.focus();
return false ;
}else if (form.mesi.value == &quot;&quot;) {
alert( &quot;Por favor, rellena el campo Mes de Alta.&quot; );
form.mesi.focus();
return false ;
}else if (form.anoi.value == &quot;&quot;) {
alert( &quot;Por favor, rellena el campo Año de Alta.&quot; );
form.anoi.focus();
return false ;
//Hasta aqui comprobamos que los campos tengan valor

//Ahora comprobamos que los datos sean correctos.
} else
if (form.mesi.value &gt; 12 || form.diai.value &gt; 31){
alert( &quot;Fecha Incorrecta; Mes mmayor a 12 o día mayor a 31.&quot; );
form.mesi.focus();
return false ;
} else if ((form.mesi.value == 01 || form.mesi.value == 03 || form.mesi.value == 05 || form.mesi.value == 07 || form.mesi.value == 08 ||form.mesi.value == 10 || form.mesi.value == 12) &amp;&amp;
(form.Diai.value &gt; 31)){
alert( &quot;Fecha Incorrecta; Día mayor de 31.&quot; );
form.diai.focus();
return false;
} else if((form.mesi.value == 04 || form.mesi.value == 06 || form.mesi.value == 09 || form.mesi.value == 11) &amp;&amp; (form.diai.value &gt; 30)){
alert( &quot;Fecha Incorrecta; Día mayor de 30.&quot; );
form.diai.focus();
return false;
} else if (form.mesi.value == 02){
var resto= form.anoi.value % 4 //Nota: % obtiene el res
  #8 (permalink)  
Antiguo 04/07/2002, 14:47
 
Fecha de Ingreso: abril-2002
Mensajes: 432
Antigüedad: 22 años
Puntos: 0
Re: validar febrero, abril, etc.

de la division
if (form.diai.value &gt;29){
alert( &quot;Fecha Incorrecta; El mes de Febrero tine menos de 30 días.&quot; )
form.diai.focus();
return false;
} else if ((resto != 0) &amp;&amp; (form.diai.value &gt;28)) {
alert( &quot;Mes de febrero con 28 días, no con 29.&quot; )
form.diai.focus();
return false;

}
}else

if (form.usuario.value == &quot;&quot;) {
alert( &quot;Por favor, rellena el campo Usuario/Socio.&quot; );
form.usuario.focus();
return false ;
}else if (form.password.value == &quot;&quot;) {
alert( &quot;Por favor, rellena el campo Contraseña.&quot; );
form.password.focus();
return false ;
}
return true ;
}
//--&gt;

&lt;/script&gt;


&lt;form action=&quot;altas.asp&quot; METHOD=&quot;post&quot; onsubmit=&quot;return informacion(this);&quot;&gt;
&lt;div&gt;&lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;tabl e border=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;750&quot;
height=&quot;252&quot; cellspacing=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td height=&quot;6&quot; width=&quot;780&quot; valign=&quot;top&quot; align=&quot;left&quot;&gt;&amp;nbsp; &lt;div align=&quot;center&quot;&gt;&lt;center&gt;&lt;tabl e
border=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;750&quot; cellspacing=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td height=&quot;40&quot; width=&quot;83&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;1&quot;&gt;Fecha Alta:&lt;/font&gt;&lt;/td&gt;
&lt;td height=&quot;40&quot; width=&quot;206&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;1&quot;&gt;&lt;select name=&quot;diai&quot; size=&quot;1&quot;&gt;
&lt;option selected=&quot;Día&quot;&gt;Día&lt;/option&gt;
resto del formulario

boton submit

Suerte ;) [email protected]
  #9 (permalink)  
Antiguo 22/09/2009, 08:20
Avatar de Luis207  
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
Respuesta: validar febrero, abril, etc.

Subo este tema porque las funciones que han puesto no me convencen y por si alguien tiene alguna mejor, me gustaría que la compartiese. Gracias.
  #10 (permalink)  
Antiguo 22/09/2009, 09:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: validar febrero, abril, etc.

El tema es de hace más de 7 años. Por favor, no revivas temas tan antiguos. Si tienes alguna duda, es preferible abrir un tema nuevo

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:00.