Calcular la letra del DNI con JavaScript

Si en nuestro sitio requerimos al usuario que introduzca su número y letra de DNI podemos comprobar si lo que introduce es correcto o no calculando la letra del DNI a partir del número. Si la letra coincide con la que ha introducido el usuario entonces éste habrá introducido un DNI válido.

Calcula la letra del DNI es muy sencillo, de hecho se utiliza como ejemplo en muchos tutoriales de JavaScript. Dado un juego de caracteres "TRWAGMYFPDXBNJZSQVHLCKET", tan solo tenemos que dividir el número del DNI entre 23 y sacar el resto. Esto en JavaScript lo haremos con el operador "%" que nos dice directamente el resto. El resultado marcará la posición del caracter en nuestro juego de caracteres.

Veamos como hacerlo en JavaScript:

<script languaje="javascript" type="text/javascript">
function calcletra(dni)
{
var JuegoCaracteres="TRWAGMYFPDXBNJZSQVHLCKET";
var Posicion= dni % 23;
var Letra = JuegoCaracteres.charAt(Posicion);
return Letra;
}
</script>

Ya tenemos la función que calcula la letra, la cual pondremos entre <head> y </head>

Ahora, para probarlo, haremos un pequeño formulario, que pondremos entre <body> y </body>

<form name="letradni" action="">
DNI:<br>
<input type="text" name="numdni" maxlenght="9" size="9">
<input type="text" name="letra" size="1" readonly>
<input type="button" value="Ok" onclick="document.letradni.letra.value=calcletra(document.letradni.numdni.value);">
</form>

Este es el resultado:

DNI:

 

Por Alex.

One Comment

  1. samba

    gracias Alex, pero al poner el codigo tal como lo tienes, netbeans me pone que maxlength no se puede color dnd se encuentra y language=”javascript” esta obsoleto

    de toda manera gracias por el codigo, la pagina es muy util, buen trabajo

Leave A Comment?