Validar formulario

Hola!
Estoy creando un formulario donde pido los siguientes datos:
Descripción: (Alfanumérico)
Cantidad: (Numérico)
Precio: (Numérico(Decimal))
Fecha: (dd/mm/aaaa)
Quiero controlar que introduzca todos los datos, puesto que todos son obligatorios), y también quiero controlar que introduce datos numéricos y que la fecha sea dd/mm/aaaa.
He probado a hacerlo de mil maneras y no termino de sacarlo.
¿Me podéis ayudar?
Gracias!

1 Respuesta

Respuesta
1
A ver si esto te ayuda:
// Función para validar una fecha
function esFecha(str,campo)
{
digitos = "0123456789";
rallita = "/";
if (str.length!=8){
alert("El formato de "+campo+" debe ser dd/mm/aa");
return false;
}
day = str.substring (0, 2);
barra1 = str.substring (2, 3);
month = str.substring (3, 5);
barra2 = str.substring (5, 6);
year = str.substring (6, 8);
for (var n = 0; n < day.length; n++) {
if (digitos.indexOf(day.charAt(n)) < 0){
alert("El formato de "+campo+" debe ser dd/mm/aa");
return false;
}
}
for (var n = 0; n < barra1.length; n++) {
if (rallita.indexOf(barra1.charAt(n)) < 0){
alert("El formato de "+campo+" debe ser dd/mm/aa");
return false;
}
}
for (var n = 0; n < month.length; n++) {
if (digitos.indexOf(month.charAt(n)) < 0){
alert("El formato de "+campo+" debe ser dd/mm/aa");
return false;
}
}
for (var n = 0; n < barra2.length; n++) {
if (rallita.indexOf(barra2.charAt(n)) < 0){
alert("El formato de "+campo+" debe ser dd/mm/aa");
return false;
}
}
for (var n = 0; n < year.length; n++) {
if (digitos.indexOf(year.charAt(n)) < 0){
alert("El formato de "+campo+" debe ser dd/mm/aa");
return false;
}
}
dias = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
numyear=parseFloat(year);
nummonth=parseFloat(month);
numday=parseFloat(day);
if (nummonth < 1 || nummonth > 12){
alert("El mes que ha introducido en "+campo+" no es correcto");
return false;
}
if (numday < 1 || numday>dias[nummonth-1]){
alert("El día que ha introducido en "+campo+" no es correcto");
return false;
}
return true;
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas