Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2013, 01:54
Avatar de the_sheriff_pino
the_sheriff_pino
 
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 1 mes
Puntos: 0
Validación de CIF con botón

Saludos amigos foreros!
Tengo en mis manos posiblemente la duda más sencilla del día.
Tengo esta función en javascript, que sirve para validar el campo cif de un formulario. Ya de primeras tengo la duda de si abc tengo que cambiarlo por algo referente input text donde escribo el CIF de name=cif.
Y lo que quiero hacer es poner un botón al lado del campo para que llame a la función y así devuelva si el campo está escrito correctamente.
Lo ideal sería hacer que se validase conforme se fuese escribiendo pero... eso se escapa de mis conocimientos de momento.

*CIF es en España el número de identificación de las empresas podíamos decir.

Código Javascript:
Ver original
  1. function isValidCif(abc)
  2.     {
  3.         par = 0;
  4.         non = 0;
  5.         letras = "ABCDEFGHKLMNPQS";
  6.         let = abc.charAt(0);
  7.  
  8.         if (abc.length!=9)
  9.         {
  10.             alert('El Cif debe tener 9 dígitos');
  11.             return false;
  12.         }
  13.  
  14.         if (letras.indexOf(let.toUpperCase())==-1)
  15.         {
  16.             alert("El comienzo del Cif no es válido");
  17.             return false;
  18.         }
  19.  
  20.         for (zz=2;zz<8;zz+=2)
  21.             {
  22.                 par = par+parseInt(abc.charAt(zz));
  23.             }
  24.  
  25.         for (zz=1;zz<9;zz+=2)
  26.             {
  27.                 nn = 2*parseInt(abc.charAt(zz));
  28.                 if (nn > 9) nn = 1+(nn-10);
  29.                     non = non+nn;
  30.             }
  31.  
  32.             parcial = par + non;
  33.             control = (10 - ( parcial % 10));
  34.            
  35.             if (control==10) control=0;
  36.             if (control!=abc.charAt(8))
  37.                 {
  38.                     alert("El Cif no es válido");
  39.                     return false;
  40.                 }
  41.            
  42.             alert("El Cif es válido");
  43.             return true;
  44.     }

Un saludo y muchas gracias!