function FechaOK(fecha)
{
var dd="", mm="", aa="", car, control=0;
for(var i=0; i"9") control++;
else
{
switch(control)
{
case 0:
dd=dd+car; //dia
break;
case 1:
mm=mm+car; //mes
break;
case 2:
aa=aa+car; //año
break;
}
}
}
if (dd.length==0 || mm.length==0 || aa.length==0 || dd.length>2 || mm.length>2 || aa.length==1 || aa.length==3 || aa.length>4 || control>2) return(false);
if(dd<1 || dd>31) return(false);
if(mm<1 || mm>12) return(false);
if((mm=="4" || mm=="04" || mm=="6" || mm=="06" || mm=="9" || mm=="09" || mm=="11") && (dd>30)) return(false);
if((aa%4)==0)
{
//Año bisiesto
if(mm==2 && dd>29) return(false);
}
else if(mm==2 && dd>28) return(false);
return(true); // No hay error!
}
function PreFmtHora(hr)
{
var ret="";
if(hr.indexOf(":")>0) return(hr);
if(hr.length==0) return(ret);
if(hr.length==1 || hr.length==2) ret=hr+":00";
else if(hr.length==3)
{
ret=ret+hr.substring(0,1);
ret=ret+":";
ret=ret+hr.substring(1,3);
}
else if(hr.length==4)
{
ret=ret+hr.substring(0,2);
ret=ret+":";
ret=ret+hr.substring(2,4);
}
else if(hr.length==5)
{
ret=ret+hr.substring(0,2);
ret=ret+":";
ret=ret+hr.substring(3,5);
}
return(ret);
}
function HoraOK(h)
{
h=PreFmtHora(h);
var hh="", mm="", result="";
var ind=h.indexOf(":"); // Se buscan los dos puntos
hh=h.substring(0, ind);
if (hh.length==0 || hh.length>2) return(false);
if (hh.length==1) hh="0"+hh;
mm=h.substring(ind+1, h.length);
if (mm.length==0 || mm.length>2) return(false);
if (mm.length==1) mm="0"+mm;
if (!EsNumerico(hh) || !EsNumerico(mm)) return(false);
if (hh>23 || mm>59) return(false);
result=hh+":"+mm;
return(result);
}
///////////////////////////////////////////////////////////////////////
// SI f1 < f2 DEVUELVE 1, SI f1 > f2 DEVUELVE 2, SI f1=f2 DEVUELVE 0 //
///////////////////////////////////////////////////////////////////////
function CmpFechas(d1, m1, a1, d2, m2, a2)
{
if(a1a2) return(2);
if(m1m2) return(2);
if(d1d2) return(2);
if(d1==d2) return(0);
}
/////////////////////////////////////
// SI [f1,h1] < [f2,h2] DEVUELVE 1 //
// SI [f1,h1] > [f2,h2] DEVUELVE 2 //
// SI [f1,h1] = [f2,h2] DEVUELVE 0 //
/////////////////////////////////////
function CmpFechasHoras(f1, h1, f2, h2)
{
var d1="", d2="", m1="", m2="", a1="", a2="";
var hh1="", mm1="", hh2="", mm2="";
d1=f1.substring(0,2);
d2=f2.substring(0,2);
m1=f1.substring(3,5);
m2=f2.substring(3,5);
a1=f1.substring(6,10);
a2=f2.substring(6,10);
hh1=h1.substring(0,2);
hh2=h2.substring(0,2);
mm1=h1.substring(3,5);
mm2=h2.substring(3,5);
if(a1a2) return(2);
if(m1m2) return(2);
if(d1d2) return(2);
if(hh1hh2) return(2);
if(mm1mm2) return(2);
if(mm1==mm2) return(0);
}
function rellenaConCeros(cad, lon)
{
if (cad.length==0) return cad;
for(var i=cad.length;i='0' && cad.charAt(i)<='9') && !( (cad.charAt(i)>='A' && cad.charAt(i)<='Z') || cad.charAt(i)=='Ñ' || cad.charAt(i)=='Ç') )
{
return false;
}
}
return true;
}
function ContieneProhibidas(cadena)
{
for (var i=0; i" ||
cadena.substring(i,i+5)==".asp?" )
{
return true;
}
}
return false;
}
// Comprueba si el caracter c está en la cadena cad
function EstaEnCadena(cad, c)
{
for (var i=0; i='0' && cad.charAt(i)<='9') )
{
return false;
}
}
return true;
}
function EsEmailOK(email)
{
var indice;
if (email=="") return(true); //Si es vacío se considera correcto
indice=email.indexOf("@");
if (indice==-1) return(false); //Si no contiene el símbolo '@' es erróneo
indice=email.indexOf(".");
if (indice==-1) return(false); //Si no contiene el símbolo '.' es erróneo
return(true);
}
function EsNif(f)
{
f=mayus(f);
for(var i=0;i='0' && f.charAt(i)<='9'))
{
return false;
}
}
if(!((f.charAt(f.length-1)>='A' && f.charAt(f.length-1)<='Z')||f.charAt(f.length-1)=='Ñ' ||f.charAt(f.length-1)=='Ç'))
{
return false;
}
return true;
}
function CalculaLetraNif(f)
{
letras="TRWAGMYFPDXBNJZSQVHLCKET";
dni=f.substring(0,f.length-1);
letra_nif=letras.charAt(eval(dni%23));
return letra_nif;
}
function EsNifOK(f)
{
if (!EsNif(f)) return false;
if (CalculaLetraNif(f)!=f.charAt(f.length-1))
{
alert("Letra introducida: "+f.charAt(f.length-1)+"\nLetra correcta: "+CalculaLetraNif(f));
return false;
}
return true;
}
function EsLongitudValida(micadena,longminima,longmaxima)
{
if (micadena.lengthlongmaxima)
return false;
return true;
}
function EsIdCorrecto(tipoid, id)
{
//alert("Tipo: "+tipoid+"\nId: "+id);
if (!EsLongitudValida(id,6,13)) return false;
if (!EsAlfaNumerico(id)) return false;
if (tipoid=="N")
{
if (!EsNifOK(id)) return false;
}
return true;
}
function ContieneComillas(cad)
{
for(var i=0;i='0' && cad.charAt(i)<='9') || cad.charAt(i)==' ') ) {
return false;
}
}
return true;
}
function EsIPOk(cad)
{
for(var i=0;i='0' && cad.charAt(i)<='9') || cad.charAt(i)=='.') ) {
return false;
}
}
return true;
}
/////////////////////////////////////////////////////////////////////
// Función que comprueba si la cadena representa un número decimal //
/////////////////////////////////////////////////////////////////////
function EsDecimal(n)
{
// Si es vacío, se acepta
for(var i=0; i"9") && car!="," && car!=".")
{
return(false);
}
}
return(true);
}
////////////////////////////////////////////////////////////////////
// Función que comprueba si la cadena representa un número entero //
////////////////////////////////////////////////////////////////////
function EsEntero(n)
{
for(var i=0; i"9")
{
return(false);
}
}
return(true);
}
function Redondear(n)
{
var i, car, r = n;
var encontrado = -1;
var decimales;
// Busco la coma o punto decimal
if (n=="") return(true);
for(i=0; i=5)
{
if (parseInt(decim12)<99)
{
decim12 = parseInt(decim12) + 1;
r = entero + "," + decim12.toString();
}
else
{
entero = parseInt(entero) + 1;
r = entero.toString() + ",00";
}
}
else r = entero + "," + decim12;
}
}
}
return r;
}
function EsImporteOk(i)
{
var ok = true;
if (!EsDecimal(i.value)) ok = false;
else
{
var aux = Redondear(i.value);
if (aux == "-1") ok = false;
else i.value = aux;
}
if (ok == false)
{
alert ("Importe incorrecto");
i.value = "0,00";
i.focus();
i.select();
}
return (ok);
}
function PuntoDecimal(cad)
{
var lon=cad.length;
var indice=cad.indexOf(",");
if (indice==-1) return(cad);
else
{
cad=cad.substring(0,indice)+"."+cad.substring(indice+1,lon);
return(cad);
}
}
function ComaDecimal(cad)
{
var lon=cad.length;
var indice=cad.indexOf(".");
if (indice==-1) return(cad);
else
{
cad=cad.substring(0,indice)+","+cad.substring(indice+1,lon);
return(cad);
}
}
function esIMEI (s) {
var etal = /^[0-9]{15}$/;
if (!etal.test(s))
return false;
sum = 0; mul = 2; l = 14;
for (i = 0; i < l; i++) {
digit = s.substring(l-i-1,l-i);
tp = parseInt(digit,10)*mul;
if (tp >= 10)
sum += (tp % 10) +1;
else
sum += tp;
if (mul == 1)
mul++;
else
mul--;
}
chk = ((10 - (sum % 10)) % 10);
return true;
if (chk != parseInt(s.substring(14,15),10))
return false;
return true;
}
function EsCodPostal(cp)
{
if (cp=="") return(true); //Si es vacío se considera correcto
if (cp.length!=5) return(false); //si la longitud no es 5 es erróneo
for (var i=0; i='0' && cp.charAt(i)<='9'))
return(false);
}
return(true);
}