Calcular la letra del DNI en Javascript

Script en lenguaje JavaScript que nos permite calcular la letra del DNI.
Los números de identidad personales, por lo menos en España, tienen una parte numérica y otra parte de texto. El número es variable para cada español y la letra se calcula con una fórmula matemática a partir del número.

En este taller de Javascript vamos a ver una función para calcular la letra de un DNI. La función recibe el número del DNI desde un campo de texto de un formulario, hace el cálculo de la letra correspondiente y escribe en el campo otra vez el DNI con la letra calculada.

Vamos a ver el ejemplo:

Para empezar, dentro de la cabecera de la página -en el head- colocaríamos la función que calcula el DNI:

<script>
function averigua ()
{
cadena="TRWAGMYFPDXBNJZSQVHLCKET"
posicion = formulario.dni.value % 23
letra = cadena.substring(posicion,posicion+1)
document.formulario.dni.value=formulario.dni.value+" - "+letra
}
</script>


Ahora vamos a ver el formulario que colocaríamos en el cuerpo de la página. Contiene un campo de texto y un botón. En el campo de texto colocaríamos el número del DNI y al pulsar el botón, se realizaría el cálculo de la letra, colocándola dentro del campo junto con el número del DNI.

<form name="formulario">
DNI:<br>
<input type="text" name="dni" maxlenght="11" size="11">
<input type="button" value="OK" language"JavaScript" onclick="averigua()">
</form>


Para terminar, podemos ver el ejemplo en funcionamiento en una página aparte.