Avatar Image
Usuario Novato
Usuario Novato
Hola!

He buscado scripts que validen campos con fecha en formato mysql (aaaa-mm-dd) pero no he teninido fortuna. ¿Algun@ de ustedes podría ayudarme?

saludos
User 6097433
User 6097433
Usuario Novato
Usuario Novato

tarde pero a ver si te vale:

function IsNumeric(value) {
            var log=value.length;
            var sw="S";
            for (x=0; x<log; x++) {v1=value.substr(x,1);v2 = parseInt(v1);
                if (isNaN(v2)) { sw= "N";}//check if numeric value
            }
            if (sw=="S") {return true;}
            else {return false;}
        }
        var slap1=false;
        var slap2=false;
        function formatDate(date) {
            var lon = date.length;
            var day;
            var month;
            var year;
            if ((lon>=2) && (slap1==false)) { day=date.substr(0,2);
                if ((IsNumeric(day)==true) && (day<=31) && (day!="00")) { date=date.substr(0,2)+"/"+date.substr(3,7); slap1=true; }
                else { date=""; slap1=false;}}
            else{day=date.substr(0,1);
                if (IsNumeric(day)==false)     {date="";}
                if ((lon<=2) && (slap1=true)) {date=date.substr(0,1);slap1=false;}}
            if ((lon>=5) && (slap2==false)) {month=date.substr(3,2);
                if ((IsNumeric(month)==true) &&(month<=12) && (month!="00")) {date=date.substr(0,5)+"/"+date.substr(6,4);slap2=true;}
                else {date=date.substr(0,3);slap2=false;}}
            else {if ((lon<=5) && (slap2=true)) {date=date.substr(0,4);slap2=false;}}
            if (lon>=7) {
                year=date.substr(6,4);
                if (IsNumeric(year)==false) {date=date.substr(0,6);}
                else {if (lon==10){if ((year==0) || (year<1900) || (year>2100)) {date=date.substr(0,6);}}}
            }
            if (lon>=10) {
                date=date.substr(0,10);
                day=date.substr(0,2);
                month=date.substr(3,2);
                year=date.substr(6,4);
                // Año no viciesto y es febrero y el day es mayor a 28
                if ( (year%4!= 0) && (month ==02) && (day>28) ) {date=date.substr(0,2)+"/";}
                else{if((month ==02)&& (day>29)){date=date.substr(0,2)+"/";}}
                if ((month==04)||(month==06)||(month==09)||(month==11)){if (day>30){date=date.substr(0,2)+"/";}}
            }
            return (date);

        }

y en el formulario:

Date: <input name="newstartact" type="text" size="10" maxlength="10" onKeyUp="this.value=formatDate(this.value);">

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 27/Jul/2010, 19:56
edanalvi marti112513kSep/10
Por: , el 25/Ago/2005, 20:19
caleta82 Jallander13kAug/05