En algunos desarrollos web tenemos que dar importancia al DNI que tiene que introducir el usuario. Aunque la validación del DNI también lo deberíamos comprobar antes de introducirlo en la Base de Datos.
Esta función comprueba que la letra del DNI sea la correcta.
HTML:
If you enjoyed this post, make sure you subscribe to my RSS feed!
-
<script type="text/javascript">
-
function nif(dni) {
-
numero = dni.substr(0,dni.length-1);
-
let = dni.substr(dni.length-1,1);
-
numero = numero % 23;
-
letra='TRWAGMYFPDXBNJZSQVHLCKET';
-
letra=letra.substring(numero,numero+1);
-
if (letra!=let) {
-
alert('Dni erroneo');
-
}else{
-
alert('Dni correcto');
-
}
-
}
-
</script>
-
</head>
-
DNI: <input type="text" name="dni" id="dni"/>
-
<input type="button" value="Comprobar DNI" onclick="nif(document.getElementById('dni').value)"/>
-
</body>
-
</html>
aqui les envio la funcion q valida si es un DNI o NIE si son correctos
function ValidarDni(dni){
dni = dni.toUpperCase();
dniDev = dni.toUpperCase();
dni = dni.replace(‘X’,'0′);
numero = dni.substr(0,dni.length-1);
let = dni.substr(dni.length-1,1);
letra=’TRWAGMYFPDXBNJZSQVHLCKET’;
for(i=0;i<letra.length;i++){
if(letra.charAt(i)==let){
document.getElementById(1).value = dniDev;
return true;
}
}
return false;
numero = “”;
let = “”;
}
Gracias Jhon por tu aportación.
Como hago para meter este validado dentro de otro formulario?, porque en la opción 1 tienes el botón independiente para validar el script, y en la dos lo he probado y no me funciona porque no hay una accion que ejecute el scrpit. si yo tengo un formulario para que la gente se pueda registrar, al pulsar el botón de registrar como hago para ejecutar el scrpt de validar?
gracias
simon
@simon: el botón de registrar tiene que ser un type button, y en la función de validar, si todo es correcto haces el submit del formulario por javascript.
Si tienes cualquier duda de como hacerlo házmelo llegar y te echaré un cable.
Salu2.