PDA

Ver la Versión Completa : Validación de nif


Acker
20-06-2006, 12:17:22
Buenos dias a tod@s!!!

He estado echando un vistazo por los hilos ya abiertos, y no encuentro nada que pueda ayudarme en este tema. Asi que aqui lo planteo con la esperanza de que podais ayudarme, y éste hilo sirva para el futuro.

A ver, lo que quiero saber es si alguién puede poner un código de una función a la que pasando un string, devuelva verdadero si esa cadena corresponde con un Nif correcto, y falso en caso contrario.

Un saludo y gracias

Neftali [Germán.Estévez]
20-06-2006, 12:31:34
He buscado en los trucos del ClubDelphi y no está (raro, por cierto), así que lo he añadido; Aquí lo tienes (http://www.clubdelphi.com/trucos/index.php?id=83).

Acker
20-06-2006, 12:38:35
Gracias Neftali, esto me podrá ser muy útil en otra ocasión, pero parece que no me expliqué bien en mi pregunta.

Yo lo que quiero saber es si una cadena de caraceteres está formada por:
8 números
y una letra

De momento no me importa calcular la letra del nif.

Un saludo

seoane
20-06-2006, 13:35:22
En la seccion de trucos, ya añadi al truco de German (http://www.clubdelphi.com/trucos/index.php?id=83) en los comentarios una funcion para validar el nif. Pero si lo que quieres es solo comprobar su longitud, y letra:


function ValidarNif(NIF: String): Boolean;
var
Numero: Integer;
begin
Result:= FALSE;
if Length(NIF) = 9 then
begin
if TryStrToInt(Copy(NIF,1,Length(NIF)-1),Numero) then
Result:= NIF[9] in ['A'..'Z','a'..'z'];
end;
end;


Por ejemplo:

if ValidarNif('12345678Z') then
ShowMessage('Correcto')
else
ShowMessage('Incorrecto');


Atencion: Como se pedia, esta funcion solo comprueba la longitud y que la ultima letra este dentro del rango A..Z. Para validar el nif por completo ir a la seccion de trucos.

Acker
20-06-2006, 13:44:03
Gracias Seoane, es justo lo que necesitaba.

Por mi parte puede darse por cerrado el hilo

Una vez más GRACIAS