Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/09/2004, 09:58
Avatar de KarlanKas
KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Eso te pasa por conseguir tan fácilmente un comprobador de NIF!

Hace unos meses descubrí en una página como se comprobaba el CIF. por lo visto la última cifra es de control, y para hallarla se debe calcular algo con las cifras pares y algo con las impares... No me acuerdo bien, pero te pongo el código que hice basándome en esa página para comprobar si está bien.

Aquí te fundo los dos códigos a ver que te parece!
Código HTML:
<html>
<head>
	<title>Untitled</title>
	
	<script>
	function comprobarcif(cif){
	mal=false;
letras="ABCDEFGHKLMNPQS"
caracteres=[];

for(a=0;a<cif.length;a++){
caracteres[a]=cif.charAt(a);
}
if(letras.indexOf(caracteres[0])==-1){
esto=cif;
validar(esto);
return false;
}
resultadoImpares=0;
for(a=1;a<8;a=a+2){
numero=caracteres[a]*2;
numero=parseInt(numero/10)+numero%10;
resultadoImpares+=numero
}

resultadoImpares=parseInt(resultadoImpares/10)+resultadoImpares%10;

numeroPar=0;
for(a=2;a<8;a=a+2){
numeroPar+=parseInt(caracteres[a]);
}
total=resultadoImpares+numeroPar;
total=11-(total%10)+1;
if(total!=caracteres[8]){mal=true;}
if(mal){
pepe=alert("Parece ser que el C.I.F. no es correcto.\nPor favor corrijalo.");
document.introducir.CIF.focus();return false
}}
/*******************************
 Validación del nif. Por Carlitos. [email][email protected][/email]
 Si usas este script, deja intactas estas líneas (créditos). Vale?
 También te agradecería un e-mail con tus comentarios.
*******************************/

function validar(abc)
{
dni=abc.substring(0,abc.length-1)
let=abc.charAt(abc.length-1)
if (!isNaN(let))
 {
  alert('Falta la letra')
  document.formulario.nif.focus()
  return false
 }
else
 {
  cadena="TRWAGMYFPDXBNJZSQVHLCKET"
  posicion = dni % 23
  letra = cadena.substring(posicion,posicion+1)
  if (letra!=let.toUpperCase())
   {
    alert("Nif no válido")
    document.formulario.nif.focus()
    return false
   }
 }
alert("Nif válido")
}


	</script>
</head>

<body>
<form name="introducir">
NIF/CIF: <input type="text" name="CIF" onblur="comprobarcif(this.value)">
</form>


</body>
</html> 
Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.