Está usted en Indice > Construcción > Lenguajes > JavaScript > Lecciones y Paso a Paso > Validar CIF
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Validar CIF

El CIF (Código de Identificación Fiscal) es un elemento de identificación administrativa para organizaciones y consta de 9 dígitos:

_ _ _ _ _ _ _ _ _
|_| |_|_|_|_|_|_|_| |_|
^ ^ ^ ^
| |_ Números _| |
| |
| Dígito de control, un número ó letra: 
| {Aó1,Bó2,Có3,Dó4,Eó5,Fó6,Gó7,Hó8,Ió9,Jó0}
| 
Letra de tipo de Organización, una de las siguientes:
{A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S}
El primer dígito es una letra que indica el tipo de la organización y puede ser una de los siguientes:
  • A - Sociedad Anónima.
  • B - Sociedad de responsabilidad limitada.
  • C - Sociedad colectiva.
  • D - Sociedad comanditaria.
  • E - Comunidad de bienes.
  • F - Sociedad cooperativa.
  • G - Asociación.
  • H - Comunidad de propietarios.
  • K - Formato antiguo.
  • L - Formato antiguo.
  • M - Formato antiguo.
  • N - Formato antiguo.
  • P - Corporación local.
  • Q - Organismo autónomo
  • S - Organo de la administración.

Los siete dígitos siguientes son números y el último es el dígito de control que puede ser un número ó una letra.

Las operaciones para calcular el dígito de control se realizan sobre los siete dígitos centrales y son las siguientes:

  1. Sumar los dígitos de la posiciones pares. Suma = A

  2. Para cada uno de los dígitos de la posiciones impares, multiplicarlo por 2 y sumar los dígitos del resultado.

    Ej.: ( 8 * 2 = 16 --> 1 + 6 = 7 ).

    Acumular el resultado. Suma = B.

  3. Sumar A + B = C

  4. Tomar sólo el dígito de las unidades de C y restárselo a 10. Esta resta nos da D.

  5. A partir de D ya se obtiene el dígito de control. Si ha de ser numérico es directamente D y si se trata de una letra se corresponde con la relación:
    A = 1, B = 2, C = 3, D = 4, E = 5, F = 6, G = 7, H = 8, I = 9, J = 0

Ejemplo para el C.I.F. : A58818501

  • Utilizamos los siete dígitos centrales = 5881850

  • Sumamos los dígitos pares: A = 8 + 1 + 5 = 14

  • Posiciones impares:
    5 * 2 = 10 -> 1 + 0 = 1
    8 * 2 = 16 -> 1 + 6 = 7
    8 * 2 = 16 -> 1 + 6 = 7
    0 * 2 = 0 -> = 0
    Sumamos los resultados: B = 1 + 7 + 7 + 0 = 15

  • Suma parcial: C = A + B = 14 + 15 = 29

  • El dígito de las unidades de C es 9. Se lo restamos a 10 y nos da: D = 10 - 9 = 1

  • Si el dígito de control ha de ser un número es 1 y si ha de ser una letra es la "A"

Código : ValidarCIF.htm

<html>
<head>
<title>Validar CIF</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<script language="javascript">
 // Comprueba la entrada de datos
 function CompruebaDatos(elCIF) 
 {
  var resul = false;
  // pasar a mayúsculas
  var temp = elCIF.value.toUpperCase(); 
  if (!/^[A-Za-z0-9]{9}$/.test(temp)) // Son 9 dígitos?
   alert ("Longitud incorrecta, un CIF consta de 9 dígitos");
  else if (!/^[ABCDEFGHKLMNPQS]/.test(temp)) 
   // Es una letra de las admitidas?
   alert("El primer dígito es incorrecto, debe ser una letra de
      las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S ");
  else
  resul = true;
   return resul;
 }
  // La función recibe el CIF completo: A58818501
  function ValidaCIF(F)
  {
   var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
   var temp = 0;
   for( i = 2; i <= 6; i += 2 ) 
   {
    temp = temp + v1[ parseInt(F.elCIF.value.substr(i-1,1))];
    temp = temp + parseInt(F.elCIF.value.substr(i,1));
   };
   temp = temp + v1[ parseInt(F.elCIF.value.substr(7,1))];
   temp = (10 - ( temp % 10));
   if( temp == 10 )
    alert( "El dígito de control es: J ó 0" );
   else
    alert( "El dígito de control es: "+temp );
   return true;
  }
</script>
<form name="Validar CIF" action="" method="post">
<p><font face="Arial, Helvetica, sans-serif" size="3">
<b>Validar CIF</b></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2">
Número de CIF ? 
<input type="text" name="elCIF" onChange="CompruebaDatos(this)">
<input type="button" value="Validar" onClick="ValidaCIF(this.form)">
</font></p>
</form>
</body>
</html>



Autor: Carlos Valencia
http://es.geocities.com/softcv/codigo/cif.html

Usuarios que han visto este tema también han visto...

- Escribir texto vertical en JavaScript
- Cabecera siempre visible con Javascript DHTML
- Mensaje en la barra de estado
- Capa Deslizante
- El Objeto Image en JavaScript


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 21-11-2008 a las 20:58:48