16dic/074
Validar DNI con Javascript
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>
<head>
<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>
<body>
DNI: <input type="text" name="dni" id="dni"/>
<input type="button" value="Comprobar DNI" onclick="nif(document.getElementById('dni').value)"/>
</body>
</html>
¿Te gustó este artículo?
Comentarios (4) Trackbacks (0) ( suscribirse a los comentarios de esta entrada )
Aún no hay trackbacks.
18 octubre, 2008 - 01:44
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 = “”;
}
24 octubre, 2008 - 17:57
Gracias Jhon por tu aportación.
24 diciembre, 2008 - 05:57
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
25 diciembre, 2008 - 19:38
@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.