Hace tiempo recordé aquellos programitas que calculaban la letra del nif y por simple curiosidad decidí buscar la formula en internet y aplicarla a ActionScript.
Básicamente lo que hace esta formula es coger el número del DNI, dividirlo por
23 y multiplicar el resultado a su vez por 23, el valor obtenido, una vez eliminado los decimales es el número de orden que ocupa la letra correspondiente en una lista o cadena preestablecida, esta cadena es “TRWAGMYFPDXBNJZSQVHLCKE".
Traducido a ActionScript y en una función quedarí a así :
function calcularnif(dni) {
letras = ["T", "R", "W", "A",
"G", "M", "Y", "F", "P",
"D", "X", "B", "N", "J",
"Z", "S", "Q", "V", "H",
"L", "C", "K", "E"];
return letras[dni-(Math.floor(dni/23)*23)];
}
Uso
trace(calcularnif(5681304));
//uso
trace(calcularnif(5681304));
Esta fórmula nos puede resultar útil para realizar validaciones de campo y
comprobar si el dni entregado es o no válido.
Espero que os resulte de utilidad o al menos os parezca interesante como curiosidad.
Descargar el archivo fuente (753 hits)
Abril 13th, 2004 at 3:18 pm
Solo darle las gracia a Toni Lopez por permitirme publicar en su estupendo blog, para mi es todo un lujo
Abril 13th, 2004 at 3:52 pm
Pedrooo!
esa lí nea sobra, soy yo quien te agradece a ti, y es mio el lujo!
estupendo el tutorial!
Saludos!
Abril 13th, 2004 at 3:59 pm
Perdon la ignoracia y creo que mi ignoracia se debe a una ubicacion Regional…. Que es el NIF?
En argentina esta el DNI, pero el nif, al menos no lo escuche, quizas exista igual…
Me interesa saber que es..
Abril 13th, 2004 at 4:48 pm
No te preocupes,
el NIF es un invento de la admistración española para tenernos más controlados (sobre todo en lo que al bolsillo se refiere).
saludos!
Abril 13th, 2004 at 5:02 pm
joder hoy mismo me ha hecho falta, esta mañana !
y vais ahora y lo poneis, y eso q vengo 3 o 4 veces diaris, ke digo, tengo la pagina hay para darle al F5 practikamente kada media hora xDD
Abril 14th, 2004 at 3:39 pm
jajajajaja….curioso invento Pedro. Quizá algun dia me sea útil
:)
Mayo 12th, 2004 at 1:02 pm
una optimización… si cojes el número del DNI y aplicas la operación módulo (% en C) te sale directamente la posición del array de letras.