Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/06/2013, 10:44
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Duda con módulo en el programa letra del DNI

Cita:
Iniciado por Linton Ver Mensaje
Obviamente sólo puedo referirme a DNI existentes. Y en realidad no tengo ningún interés por las letras de los DNI; simplemente estoy aprendiendo JavaScript y no entiendo un ejercicio


No es "mi" cadena, sino la del manual Introducción a Javascript, de Javier Eguíluz

Gracias a los dos, saludos.
Entonces probablemente estés utilizando esto

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ejercicio 6 - Calculo de la letra del DNI</title>
<script type="text/javascript">
var letras = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N','J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E','T'];
var numero = prompt("Introduce tu número de DNI (sin la letra)");
var letra = prompt("Introduce la letra de tu DNI (en mayúsculas)");
letra = letra.toUpperCase();
if(numero < 0 || numero > 99999999) {
alert("El número proporcionado no es válido");
}
else {
var letraCalculada = letras[numero % 23];
if(letraCalculada != letra) {
alert("La letra o el número proporcionados no son correctos");
}
else {
alert("El número de DNI y su letra son correctos");
}
}
</script>
</head>
<body>
<p>Esta página calcula la letra del DNI</p>
</body>
</html> 
Es cierto que la última T sobra, como te han dicho, pero poco interesa, asi como si hubieses agregado más letras al final del Array, la división siempre se hace x 23 con lo que el módulo resultará entre 0 y 22 indefectiblemente, aqui lo importante es que la secuencia de los primeros 23 elementos del array sea correcta

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.