dominios y alojamiento web en hostalia

Función en Javascript para la inserción de fechas

29 de abril de 2005
Valoración del artículo:
Función para la introducción de fechas con formato dd/mm/aaaa.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
La siguiente es una funcion que realice para hacer mas facil la escritura de campos fecha con formatos de dd/mm/aaaa y una pequeña validacion, tambien les mando una pequeña funcion para saber si un valor es numerico:

1 debemos terner un formulario html con un campo con la siguiente forma:

<input name="fecha" type="text" size="10" maxlength="10" onKeyUp = "this.value=formateafecha(this.value);">

Aqui se puede observar que hacemos un llamado a la funcion: formateafecha

2- en el mismo html colocamos los javascript con las funciones o lo ponemos aparte en un archivo.js hacien donde deberiamos hacerle un llamado.

function IsNumeric(valor)
{
var log=valor.length; var sw="S";
for (x=0; x<log; x++)
{ v1=valor.substr(x,1);
v2 = parseInt(v1);
//Compruebo si es un valor numérico
if (isNaN(v2)) { sw= "N";}
}
if (sw=="S") {return true;} else {return false; }
}

var primerslap=false;
var segundoslap=false;
function formateafecha(fecha)
{
var long = fecha.length;
var dia;
var mes;
var ano;

if ((long>=2) && (primerslap==false)) { dia=fecha.substr(0,2);
if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00")) { fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7); primerslap=true; }
else { fecha=""; primerslap=false;}
}
else
{ dia=fecha.substr(0,1);
if (IsNumeric(dia)==false)
{fecha="";}
if ((long<=2) && (primerslap=true)) {fecha=fecha.substr(0,1); primerslap=false; }
}
if ((long>=5) && (segundoslap==false))
{ mes=fecha.substr(3,2);
if ((IsNumeric(mes)==true) &&(mes<=12) && (mes!="00")) { fecha=fecha.substr(0,5)+"/"+fecha.substr(6,4); segundoslap=true; }
else { fecha=fecha.substr(0,3);; segundoslap=false;}
}
else { if ((long<=5) && (segundoslap=true)) { fecha=fecha.substr(0,4); segundoslap=false; } }
if (long>=7)
{ ano=fecha.substr(6,4);
if (IsNumeric(ano)==false) { fecha=fecha.substr(0,6); }
else { if (long==10){ if ((ano==0) || (ano<1900) || (ano>2100)) { fecha=fecha.substr(0,6); } } }
}

if (long>=10)
{
fecha=fecha.substr(0,10);
dia=fecha.substr(0,2);
mes=fecha.substr(3,2);
ano=fecha.substr(6,4);
// Año no viciesto y es febrero y el dia es mayor a 28
if ( (ano%4 != 0) && (mes ==02) && (dia > 28) ) { fecha=fecha.substr(0,2)+"/"; }
}
return (fecha);
}

Compartir en redes sociales

Comentarios
Fueron enviados 16 comentarios al artículo
15 comentarios no revisados
1 comentario revisado:

rrrayle...
error
20/4/2011
me toma el dia y almacena ese dato como mes, mes como dia...como puedo corregir eso en la funcion. seria bueno ya que esta dispconible para su libre uso que agregaran comentarios para en caso de algun desajuste, poder uno mismo corregirlo..gracias rayler@bsp.ssp.sld.cu

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...