Foros del Web » Programando para Internet » Javascript »

Calcular letra dni numero a numero

Estas en el tema de Calcular letra dni numero a numero en el foro de Javascript en Foros del Web. Hola!!! mi problema es el siguiente, quiero hacer un calculo de letra del dni, la idea es que haya dos campos de texto, y en ...
  #1 (permalink)  
Antiguo 02/12/2008, 15:45
 
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Calcular letra dni numero a numero

Hola!!! mi problema es el siguiente, quiero hacer un calculo de letra del dni, la idea es que haya dos campos de texto, y en el primer campo segun voy poniendo los numeros quiero que en el segundo campo me vaya apareciendo la letra correspondiente a los numeros que voy poniendo, uno a uno, si me pudierais dar una idea os lo agradeceria!!!
  #2 (permalink)  
Antiguo 02/12/2008, 16:02
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Calcular letra dni numero a numero

Si no me equivoco, para calcular el DNI se divide el número entre 23 y depende del resto que salga se le asgina una letra.

Con esa premisa, lo primero que se me ocurre es una función que lo que haga sea devolver esa letra (resto del número/23 y comprobar un array donde estén asociados los números del 1 al 22 con las letras correspondientes).

Y ejecutar esa función en un onChange o similar del campo de texto que te interese.
  #3 (permalink)  
Antiguo 02/12/2008, 16:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Calcular letra dni numero a numero

Ya lo he hecho, pero me salta la letra cuando he escrito el dni entero. Lo que quiero y pretendo esque me vaya saliendo segun voy poniendo los numeros.
  #4 (permalink)  
Antiguo 02/12/2008, 16:13
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Calcular letra dni numero a numero

Para eso lo del evento onChange.... pero si ya lo has hecho y no funciona como esperas... ¿no sería más fácil si nos dejas ver el código para comprender mejor el problema?
  #5 (permalink)  
Antiguo 02/12/2008, 16:25
 
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Calcular letra dni numero a numero

<html>
<head>
<script>

function calcular()
{
if (form1.dni.value.length == 9) {
var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
var numero = form1.dni.value % 23;
form1.letra.value = letras.substring(numero,numero+1);
} else form1.letra.value = '';

}
</script>
</head>
<form name="form1" action="">

D.N.I : <input type="text" name="dni" maxlength="9" size="9" onkeydown="setTimeout('calcular()')"> -
<input type="text" name="letra" maxlength="1" size="1">
</form>

</body>
</html>
  #6 (permalink)  
Antiguo 03/12/2008, 02:21
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Calcular letra dni numero a numero

Vamos a ver, hay que analizar un poco el script. En realidad está funcionando correctamente. El script da por supuesto que un DNI tiene que tener nueve dígitos. Si no tiene esa cantidad, no hace nada, de ahí el primer if de la función.

Si quieres que vaya calculando aunque no se lleguen a los nueve digitos, simplemente elimina el if y el else.

Última edición por Keysher; 03/12/2008 a las 06:37
  #7 (permalink)  
Antiguo 03/12/2008, 04:21
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Calcular letra dni numero a numero

Una pregunta: ¿Por qué quieres hacer esto?

Lo pregunto porque supongo que sabes que la letra es un "código de validación" para comprobar que el usuario ha puesto su número correctamente, ¿verdad? Si en lugar de utilizarlo para validar, lo calcula la aplicación, entonces pierde completamente su utilidad.
  #8 (permalink)  
Antiguo 03/12/2008, 05:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Calcular letra dni numero a numero

Esto lo estoy haciendo porque me lo ha mandado un profesor, esta practica y unas cuantas mas algo raras, sino no ni se me abria pasado por la cabeza hacerla!!!
  #9 (permalink)  
Antiguo 03/12/2008, 07:16
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Calcular letra dni numero a numero

Aaah, vale, vale! :)
  #10 (permalink)  
Antiguo 03/12/2008, 07:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Calcular letra dni numero a numero

Ya lo he conseguido, he visto el fallito y ya tengo lo que queria. Muchas gracias!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:39.