FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
Validar Nif
Hola,
He estado buscando por internet alguna función que valide si el NIF introducido es correcto, pero no encuentro nada. Bueno, he encontrado una función en la pagina http://www.rinconcitodelphi.com/trucos/Util1.htm que comprueba tanto el Cif como el Nif lo cual me resultaría aun más util pero en el código que se proporciona faltan 2 funciones (EsNumero y EsNif). ¿alguien sabe alguna funcion que verifique el NIF? o ¿Alguien tiene hechas estos 2 funciones?. Gracias de antemano, Un Saludo |
#2
|
||||
|
||||
La entidad que lo regula/provee/creo... ¿No publica el algoritmo?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Ahí no aparece, y les he escrito y no me responden.
Pero bueno tiene que haber más codigos hechos para validar los NIF, aunque no paro de buscar y no encuentro nada. Bueno pues a ver si lo encuentro , si no a ver si alguien sabe lo sabe y me lo dice . Chauuu |
#4
|
||||
|
||||
La letra del NIF (supongo que estamos hablando de España) se calcula utilizando el resto de la division del numero entre 23. Con ese valor vamos a la siguiente lista de letras y usamos la que corresponda:
Código:
TRWAGMYFPDXBNJZSQVHLCKET
|
#5
|
||||
|
||||
Ah bien gracias, ya solo lo que me falta sería comprobar que los ocho primeros digistos son numero y con el último hacer lo que dices. Pero no se bien manejar cadenas de caracteres.
Entonces ¿como haría la comprobación completa de que los 8 primeros digitos sean numeros y que el noveno sea un caracter que valida a esos ocho digitos? Gracias otra vez |
#6
|
||||
|
||||
Ya puestos vamos a hacer el trabajo completo
|
#7
|
||||
|
||||
Conseguido
Perfecto! Ya lo he probado y todo OK.
Muchas Gracias Seoane! |
#8
|
||||
|
||||
Y pregunto yo ?
No puede haber cifras del DNI que sean menor de 10.000.000, y con ello la longitud ser menor de 9 ? Yo creo recordar DNI's con cifras menores de esos Diez Millones (que me perdonen, pero supongo que de gente bastante mayor ...). Por ello creo que deberías reconsiderar entonces la comprobación de la longitud. El método para calcular la letra sigue siendo perfectamente válido. Si sirve como indicación adicional, dicho método también se puede aplicar a las Tarjetas de Residentes emitidas en España. En este caso, siempre empezaría por una 'X', seguido de 7 cifras y la letra final según el método descrito. Saludos
__________________
Piensa siempre en positivo ! |
#9
|
||||
|
||||
Que yo sepa todos los Nif son de 8 numeros y la letra, estoy casi seguro vaya, eso si para Nif españoles.
En Nif extranjeros cambia la cosa y es un problema que me establa planteando ya que usando esta funcion para comprobar los Nif no puedo introducir un Nif que no sea español, que aunque no es muy común se puede dar el caso y el usuario no podría insertar en la base de datos a un cliente extranjero, con lo cual no se que hacer al respecto... Chauu |
#10
|
||||
|
||||
La longitud fue mas una suposicion que una certeza, no había visto nunca ningun documento menor de 10.000.000, pero siempre se aprenden cosas nuevas. El caso es que probando con el programa PADRE, no me deja introducir un nif de menos de 9 letras ni de mas, no se si los de hacienda saben algo que yo ignoro pero sus razones tendran.
De todas formas no cuesta nada poner como requisito que se deben rellenar con ceros a la izquierda los numeros que no alcancen las nueve cifras. En algunos impresos oficiales ya te lo piden. O simplemente podemos comprobar que la longitud esta entre 8 y 10
|
#11
|
|||
|
|||
oficialmente si el cif/nif tiene menos de 9 dígitos, hay que rellenar esos huecos con 0
|
#12
|
||||
|
||||
Lo conseguí
Cogiendo lo que habeis escrito, un ejemplo de trucomania, con algunas cosas que he añadido y con varias horas de trabajo he hecho un código que comprueba tanto si es un Nif, Cif o Nif Extrangero, creo que he contemplado casi todas las posiblilidades.
Lo he probado y parece que funciona bien pero siempre puede haber errores, si veis algo mal comentadlo please. Pues nada aquí dejo el código para quien lo quiera .
Y para usarlo un ejemplo sería este: (yo lo compruebo al salir del Edit)
Gracias a todos, Saludos. Última edición por Colgueit fecha: 09-05-2006 a las 15:18:22. |
#13
|
|||
|
|||
Me comprometo a poner la letra
Hola a todos:
Me comprometo a poner para averiguar la letra Un Saludo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Validar Campo | esimon | OOP | 6 | 09-05-2006 17:07:34 |
validar en fecha, dia y mes | alcides | Varios | 2 | 08-02-2005 17:29:33 |
Validar XML con schema | rsotolongo | Internet | 5 | 27-04-2004 11:33:15 |
validar sin exepciones | gustavo2 | Conexión con bases de datos | 2 | 30-01-2004 16:54:56 |
validar en qry | alcides | SQL | 2 | 06-01-2004 19:11:19 |
|