website stats » Función para validar un DNI | Solo Código |

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:

JavaScript:
  1. <head>
  2. <script type="text/javascript">
  3. function nif(dni) {
  4.   numero = dni.substr(0,dni.length-1);
  5.   let = dni.substr(dni.length-1,1);
  6.   numero = numero % 23;
  7.   letra='TRWAGMYFPDXBNJZSQVHLCKET';
  8.   letra=letra.substring(numero,numero+1);
  9.   if (letra!=let)
  10.     alert('Dni erroneo');
  11.   else
  12.     alert('Dni correcto');
  13. }
  14. </script>
  15. </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:

HTML:
  1. <form name="formulario">
  2. <input type="text" name="dni" size="9" maxlength="9"/>
  3. <input type="button" onClick="nif(formulario.dni.value);" value="Comprobar"/>
  4. </form>
  5. </body>

Comentarios (7)

Categoria: Javascript

7 Comentarios

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

Escribir un comentario

Puedes usar las siguientes etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Solo Código

Solo Código es una colección de códigos de todo tipo que pueden resultar útiles para el diseño de páginas web. Está enfocado tanto para aquellos que son expertos, como para aquellos principiantes que quieren encontrar recursos útiles, o no saben implementar determinadas funciones en sus webs. No olvides que Solo Código es un blog de Informática Práctica, donde tenemos otras secciones interesantes como:
| Tutoriales | Trucos | Software | Links | Buscar |