Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/11/2004, 15:04
Avatar de baklao
baklao
 
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola creo poder ayudarte a tu problema aqui te va un ejemplo:

<SCRIPT>

function generarfechacompleta()
{
document.registro.fecha_completa.value = document.registro.dia.value + "/" + document.registro.mes.value + "/" + document.registro.ano.value;
return true;
}

function fecha( cadena ) {

//Separador para la introduccion de las fechas
var separador = "/"

//Separa por dia, mes y año
if ( cadena.indexOf( separador ) != -1 ) {
var posi1 = 0
var posi2 = cadena.indexOf( separador, posi1 + 1 )
var posi3 = cadena.indexOf( separador, posi2 + 1 )
this.dia = cadena.substring( posi1, posi2 )
this.mes = cadena.substring( posi2 + 1, posi3 )
this.anio = cadena.substring( posi3 + 1, cadena.length )
} else {
this.dia = 0
this.mes = 0
this.anio = 0
}
}


function comprobaciones()
{
//xyz = generarfechacompleta();
document.registro.fecha_completa.value = document.registro.dia.value + "/" + document.registro.mes.value + "/" + document.registro.ano.value;

errorfecha=0
// OBTENGO LA FECHA DEL SISTEMA

var fecha_actual = new Date()
var fecha_sistema;

dia = fecha_actual.getDate()
mes = fecha_actual.getMonth() + 1
anio = fecha_actual.getYear()

if (anio < 100)
anio = '19' + anio
else if ( ( anio > 100 ) && ( anio < 999 ) ) {
var cadena_anio = new String(anio)
anio = '20' + cadena_anio.substring(1,3)
}

if (mes < 10)
mes = '0' + mes

if (dia < 10)
dia = '0' + dia

fecha_sistema=dia + "/" + mes + "/" + anio;


// DIFERENCIA DE FECHAS

CadenaFecha1 = fecha_sistema
CadenaFecha2 = document.registro.fecha_completa.value

//Obtiene dia, mes y año
var fecha1 = new fecha( CadenaFecha1 )
var fecha2 = new fecha( CadenaFecha2 )

//Obtiene objetos Date
var miFecha1 = new Date( fecha1.anio, fecha1.mes, fecha1.dia )
var miFecha2 = new Date( fecha2.anio, fecha2.mes, fecha2.dia )

//Resta fechas y redondea
var diferencia = miFecha1.getTime() - miFecha2.getTime()
var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24))
var segundos = Math.floor(diferencia / 1000)
// alert ('La diferencia es de ' + dias + ' dias,\no ' + segundos + ' segundos.')


var info="Has introducido mal los siguientes campos:\n\n";
var aviso="";
************************************************** **********
if (document.registro.dia.value=="" | document.registro.mes.value=="" | document.registro.ano.value=="" | document.registro.fecha_completa.value=="")
{
/*alert ("Tiene que rellenar todos los campos de este formulario para poder registrarse.");
aviso="a"*/
info=info+"- NO PUEDES DEJAR NINGÚN CAMPO OBLIGATORIO EN BLANCO\n";
}

var fech=document.registro.fecha_completa.value;
var mes=fech.charAt(3)+fech.charAt(4);
//if(aviso=="")
if(document.registro.fecha_completa.value.length!= 10)
{
if (errorfecha!=1) {info=info+"- FECHA (El formato debe ser:
dd/mm/aaaa (10 dígitos))\n";errorfecha=1
}
switch(mes)
{
case "01": case "03": case "05": case "07": case"08": case"10":
case"12":
//if(aviso=="")
{
if(fech.charAt(0)=="3" && fech.charAt(1)!="0" && fech.charAt(1)!
="1")
{
if (errorfecha!=1) {info=info+"- FECHA (El día debe estar entre 1
y 31)\n";errorfecha=1
}
}
break;
}
case "04": case"06": case"09": case"11":
{
if(fech.charAt(0)=="3" && fech.charAt(1)!="0")
{
if (errorfecha!=1) {info=info+"- FECHA (El día debe estar
entre 1 y 31)\n";errorfecha=1
}
}
break;
}
default :
{
if( mes>12)
{
if (errorfecha!=1) {info=info+"- FECHA (El mes debe
estar entre 1 y 12)\n";errorfecha=1}
}
}
}

if(fech.charAt(2)!="/")
{
if (errorfecha!=1) {info=info+"- FECHA (El formato de fecha debe ser = dd/mm/aaaa)\n";errorfecha=1}
}
if(fech.charAt(5)!="/")
{
if (errorfecha!=1) {info=info+"- FECHA (El formato de fecha debe ser = dd/mm/aaaa)\n";errorfecha=1}
}

if(fech.charAt(0)!="0" && fech.charAt(0)!="1" && fech.charAt(0)!=2 && fech.charAt(0)!=3)
{
if (errorfecha!=1) {info=info+"- FECHA (El dia debe estar entre 1 y 31)\n";errorfecha=1}
}
if(fech.charAt(3)!="0" && fech.charAt(3)!="1")
{
if (errorfecha!=1) {info=info+"- FECHA (El mes debe estar entre 1 y 12)\n";errorfecha=1}
}
//aqui transformas dias para que te de la edad exacta.
if (dias<6575){if (errorfecha!=1) {info=info+"- FECHA (No eres mayor de 18 años)\n";errorfecha=1}}


CadenaFecha2 = document.registro.fecha_completa.value

fecha2 = new fecha( CadenaFecha2 )

if (fecha2.mes==02){
if((fecha2.anio % 4)== 0){
if (fecha2.dia>29){if (errorfecha!=1) {info=info+"- FECHA (Febrero no puede tener mas de 29 dias)\n";errorfecha=1}
}}}
if (fecha2.mes==02){
if((fecha2.anio % 4)!= 0){
if (fecha2.dia>28){if (errorfecha!=1) {info=info+"- FECHA (Febrero no puede tener mas de 28 dias)\n";errorfecha=1}
}}}
if (fecha2.mes==01){
if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Enero no puede tener mas de 31 dias)\n";errorfecha=1}
}}
if (fecha2.mes==03){
if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Marzo no puede tener mas de 31 dias)\n";errorfecha=1}
}}
if (fecha2.mes==04){
if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Abril no puede tener mas de 30 dias)\n";errorfecha=1}
}}
if (fecha2.mes==05){
if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Mayo no puede tener mas de 31 dias)\n";errorfecha=1}
}}
if (fecha2.mes==06){
if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Junio no puede tener mas de 30 dias)\n";errorfecha=1}
}}
if (fecha2.mes==07){
if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Julio no puede tener mas de 31 dias)\n";errorfecha=1}
}}
if (fecha2.mes==08){
if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Agosto no puede tener mas de 31 dias)\n";errorfecha=1}
}}
if (fecha2.mes==09){
if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Septiembre no puede tener mas de 30 dias)\n";errorfecha=1}
}}
if (fecha2.mes==10){
if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Octubre no puede tener mas de 31 dias)\n";errorfecha=1}
}}
if (fecha2.mes==11){
if (fecha2.dia>30){if (errorfecha!=1) {info=info+"- FECHA (Noviembre no puede tener mas de 30 dias)\n";errorfecha=1}
}}
if (fecha2.mes==12){
if (fecha2.dia>31){if (errorfecha!=1) {info=info+"- FECHA (Diciembre no puede tener mas de 31 dias)\n";errorfecha=1}
}}

</SCRIPT>
<INPUT id=fecha_completa type=hidden
name=fecha_completa>
<INPUT id=dia
style="border:1px solid #000080; "
tabIndex=8 maxLength=2 size=2 name=dia></font><font face="Eras Lt BT" size="2"> <B>/</B>
</font>
<font face="Verdana">
<font face="Eras Lt BT" size="1">
<INPUT id=mes
style="border:1px solid #000080; "
tabIndex=9 maxLength=2 size=2 name=mes></font><font face="Eras Lt BT" size="2"> <B>/</B>
</font><font face="Eras Lt BT" size="1">
<INPUT id=ano
style="border:1px solid #000080; "
tabIndex=10 maxLength=4 size=4 name=ano></font><font face="Eras Lt BT" size="2"> <!--onChange="generarfechacompleta()"-->
</font>
</font></TD></TR>
<TR vAlign=top>

<p align="center"><font face="Verdana">
<a href="javascript:comprobaciones()">
<IMG tabIndex=14 alt="Conviértete en usuario registrado"
src="image/Botones/siguiente_v3.gif"
border=0></a></font></TD>
</TABLE>

bueno el script esta bueno porque yo luo uso ademas tienes la parte del html para que te guies si necesitas algo solo vuelve a consultar.

espero que te sirva de ayuda.

Atte. Mohamed
Desde Venezuela - Isla de Margarita