Validar nif/cif
<script> /******************************* Validación del cif/nif. Por Carlitos. carlosbernad@teleline.es Si usas este script, deja intactas estas líneas (créditos). Vale? También te agradecería un e-mail con tus comentarios. Idea original de validación de cif de KarlanKas *******************************/ function cif(cif) { par = 0 non = 0 letras="ABCDEFGHKLMNPQS" let=cif.charAt(0) if (!isNaN(let)) { nif=cif validar(nif) return false } if (cif.length!=9) { alert('El Cif debe tener 9 dígitos') document.formulario.nif.focus() return false } if (letras.indexOf(let.toUpperCase())==-1) { alert("El comienzo del Cif no es válido") document.formulario.nif.focus() return false } for (zz=2;zz<8;zz+=2) { par = par+parseInt(cif.charAt(zz)) } for (zz=1;zz<9;zz+=2) { nn = 2*parseInt(cif.charAt(zz)) if (nn > 9) nn = 1+(nn-10) non = non+nn } parcial = par + non control = (10 - ( parcial % 10)) if (control==10) control=0 if (control!=cif.charAt(8)) { alert("El Cif no es válido") document.formulario.nif.focus() return false } alert("El Cif es válido") } 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") } &%lt;/script> </script> <body> <p>Validar nif/cif</p> <form name="formulario"> NIF/CIF: <input type="text" name="nif"> <br> <input type="button" value="Validar" onclick="cif(document.formulario.nif.value)"> </form> </body> </html>