function limitar_textarea(field, maxlimit) { if (field.value.length > maxlimit) // if too long...trim it! field.value = field.value.substring(0, maxlimit); } function validar(formulario) { //if (document.images) { for (i=0;i 0) { if (((tempobj.type=="text")||(tempobj.type=="textarea")||(tempobj.type=="password")||(tempobj.type=="file"))&&(valor.length==0)&&(nombre_campo.length >0)){ alert("El campo: "+nombre_campo+" es obligatorio."); //tempobj.style.background = "#CCCCCC"; //permitir cambiar el color de fondo del campo tempobj.focus(); return false; } if ((tipo.length > 0)&&(valor.length > 0)) { switch (tipo){ case "num": if (isNaN(valor.replace(",","."))) { alert("El campo: "+nombre_campo+" debe ser numérico"); tempobj.select(); return false; } break; case "dts": if (!validar_fecha(tempobj.name, formulario)) { tempobj.select(); return false; } break; case "@@@": var inicio = valor.indexOf("@"); var fin = valor.lastIndexOf("@"); if ((inicio != fin) || ((inicio == -1) && (fin == -1)) || ((inicio == 0) && (fin == 0))|| ((inicio == valor.length-1) && (fin == valor.length-1))){ alert("El valor del campo: "+nombre_campo+" no contiene un formato válido de correo electrónico."); tempobj.select(); return false; } break; case "hhh": var horas=valor.split(":")[0]; var minutos=valor.split(":")[1]; var segundos=valor.split(":")[2]; if (valor.indexOf("/")==-1) { alert("La hora indicada no tiene el formato correcto: hh:mm o hh:mm:ss"); tempobj.select(); return false; } if ((horas > "23")||(horas < "0")) { alert("La parte horaria de la hora es incorrecta.\nLas parte horaria va desde 0 a 23."); tempobj.select(); return false; } if ((minutos > "59")||(minutos < "0")) { alert("Los minutos de la hora son incorrectos."); tempobj.select(); return false; } if ((segundos > "59")||(segundos < "0")) { alert("La segundos de la hora son incorrectos."); tempobj.select(); return false; } break; case "txt": break; case "bit": break; case "ids": break; } } } } //} //fin document.images return true; } var a, mes, dia, anyo, febrero; function anyoBisiesto(anyo){ if (anyo < 100) var fin = anyo + 1900; else var fin = anyo ; if (fin % 4 != 0) return false; else { if (fin % 100 == 0) { if (fin % 400 == 0) return true; else return false; } else return true; } } function validar_fecha(nm_campo_, formulario_) { var fecha = new Date; //var fecha_anyo = fecha.getFullYear(); var fecha_anyo = 2000; var a = eval("formulario_."+nm_campo_+".value"); if (a.indexOf("/")==-1) { alert("La fecha indicada no tiene el formato correcto: dd/mm/aaaa"); return false; } dia = parseInt(a.split("/")[0],10); mes = parseInt(a.split("/")[1],10); anyo = parseInt(a.split("/")[2],10); if(anyoBisiesto(anyo)) febrero=29; else febrero=28; if (isNaN(mes) || (mes<1) || (mes>12)) { alert("El mes introducido no es valido. Por favor, introduzca un mes correcto"); return false; } if ((isNaN(mes) || (mes==2)) && (isNaN(dia) || (dia<1) || (dia>febrero))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if ((isNaN(mes) || (mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && (isNaN(dia) || (dia<1) || (dia>31))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if ((isNaN(mes) || (mes==4) || (mes==6) || (mes==9) || (mes==11)) && (isNaN(dia) || (dia<1) || (dia>30))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if (isNaN(anyo) || (anyo3000)) { //entre anyo deberia de ser un AND alert("El año introducido no es valido."); return false; } return true; } function validar_fecha_seg(nm_campo_, formulario_) { var fecha = new Date; //var fecha_anyo = fecha.getFullYear(); var fecha_anyo = 2000; var a = eval(formulario_+"."+nm_campo_+".value"); if (a.indexOf("/")==-1) { alert("La fecha indicada no tiene el formato correcto: dd/mm/aaaa"); return false; } dia = parseInt(a.split("/")[0],10); mes = parseInt(a.split("/")[1],10); anyo = parseInt(a.split("/")[2],10); if(anyoBisiesto(anyo)) febrero=29; else febrero=28; if (isNaN(mes) || (mes<1) || (mes>12)) { alert("El mes introducido no es valido. Por favor, introduzca un mes correcto"); return false; } if ((isNaN(mes) || (mes==2)) && (isNaN(dia) || (dia<1) || (dia>febrero))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if ((isNaN(mes) || (mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && (isNaN(dia) || (dia<1) || (dia>31))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if ((isNaN(mes) || (mes==4) || (mes==6) || (mes==9) || (mes==11)) && (isNaN(dia) || (dia<1) || (dia>30))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if (isNaN(anyo) || (anyo3000)) { //entre anyo deberia de ser un AND alert("El año introducido no es valido."); return false; } return true; } function f_ValFechas(caja){ if (caja){ borrar = caja; if ((caja.substr(2,1) == "/") && (caja.substr(5,1) == "/")){ for (i=0; i<10; i++){ if (((caja.substr(i,1)<"0") || (caja.substr(i,1)>"9")) && (i != 2) && (i != 5)){ borrar = ''; break; } } if (borrar){ a = caja.substr(6,4); m = caja.substr(3,2); d = caja.substr(0,2); if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31)) borrar = ''; else{ if((a%4 != 0) && (m == 2) && (d > 28)) borrar = ''; // Año no viciesto y es febrero y el dia es mayor a 28 else{ if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29))) borrar = ''; } } } } else borrar = ''; if (borrar == '') { return false; } else { return true; } } }