Función para validar un DNI
Escrito por J.F. el Monday, 6 de August del 2007 a las 14:27
A la hora de elaborar un formulario para una página web, es muy frecuente incluir cierto tipo de restricciones, como si un campo está vacÃo o no, marcado o no, si debe contener solo números, o solo letras, etc. En éste caso vamos a ver como mediante una función de Javascript podemos controlar que se introduzca un DNI/NIF válido. La combinación de 8 números y una letra que componen el DNI se construye mediante un conocido algoritmo, en el que se calcula el resto de dividir el número formado por las cifras entre 23, y en función de ese resto se le asignará determinada letra. Veamos la función que validará si un DNI introducido es correcto:
-
<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>
Por último, el código HTML, que lo único que hace es pasarle lo que introduzcamos en la caja de texto como parámetro a la función:
Comentarios (7)
Categoria: Javascript
- Añadir este post a
- Del.icio.us -
- Meneame -
- Digg -
- Webeame
Entradas relacionadas
Comentario de Evert
Realizado el Wednesday, 13 de August del 2008 a las 21:36
kisiera por favor ke me envien si fuera posible mas informacion sobre php diseño, funciones, etc por favor
Comentario de jordano
Realizado el Saturday, 6 de December del 2008 a las 17:18
codigo DNI*
Comentario de JUDITH
Realizado el Friday, 16 de January del 2009 a las 2:14
como pudiera averiguar el numero de DNI
Comentario de marina
Realizado el Friday, 23 de January del 2009 a las 14:19
hola, quisiera saber como validar un dni pero sin letra .. o sea que si o si me ingresen 8 numeros, desde ya muchas gracias .-
mi correo es cotilafiesta@yahoo.com
Comentario de leo
Realizado el Thursday, 4 de March del 2010 a las 18:11
quisiera saber como vlidar el numero de carnet que solo admita 11 digitos y que los 2 primero esten comprendidos entra 00 y 99, los do 2 siguiente esten comprendidos entre 01 y 12 y el 5to y el 6to esten entre 01 y 31
Comentario de Desconocido
Realizado el Wednesday, 4 de August del 2010 a las 18:17
Oe tu xonxerra no sirve has kas cosas bien ps.
Comentario de KENNETH SALAS
Realizado el Tuesday, 1 de March del 2011 a las 19:01
BUENAS ES QUE UNA PAGINA DE EMPLEO ME PIDE LLENAR EL NIF/DNI/NIE COMO LO AVERIGUO NI SIQUIERA SE QUE SIGNIFICA NI COMO LLENARLO O ADONDE LO AVRRIGUO GRACIAS ME ES DE EXTREMA URGENCIA
