FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Validaciones. DNI/NIF, NIE, CIF....
Hola a Todos:
Les Explico, estoy haciendo un programita para hacer validaciones de documentos, como: NIF, NIE, CIF etc. Ahora bien, he logrado averiguar: - Como validar un C.I.F - Como validar un número de la Seguridad Social - Como calcular el Digito de Control de una Cuenta Bancaria - Como validar una Tarjeta de Crédito Y me faltan: - Saber la letra del D.N.I/N.I.F segun el número. - Saber la letra del N.I.E segun el número. - Saber el IBAN de la cuenta Bancaria. Si pueden ayudarme se lo agradeceré mucho. Gracias de Antemano Jorge. |
#2
|
||||
|
||||
Hola Niko,
Letra del DNI:
IBAN de una cuenta bancaria:
No he probado ninguno de ellos. Pero espero que funcionen.
__________________
Hay gente que esta demasiado educada para hablar con la boca llena pero no les importa hacerlo con la cabeza hueca. |
#3
|
|||
|
|||
Validacion CIF
{Cambiar un carácter por otro en una cadena.}
function CadCambioCar(Cadena, CarOrig, CarCambio : String) : String; var i : Integer; Temp : String; begin Temp := ''; for i := 1 to Length(Cadena) do if Copy(Cadena, i, 1) = CarOrig then Temp := Temp + CarCambio else Temp := Temp + Copy(Cadena, i, 1); Result := Temp; end; { Validar si un CIF introducido es correcto} function EsCif(Cif : String) : Boolean; var Suma, Control : Integer; n : Byte; begin Result := False; {Se pasa todo a mayúsculas limpio de espacios y de caracteres especiales} Cif := UpperCase(Trim(Cif)); {Se limpia de los caracteres '-' y '/'. } Cif := CadCambioCar(Cif,'-',''); Cif := CadCambioCar(Cif,'/',''); {El cif debe ser de 9 cifras} if Length(Cif) = 9 then begin {Comprobamos que sea un NIF} if EsNumero(Cif[1]) then Result := EsNif(Cif) else {Se comprueba que la letra que designa el tipo de cif sea correcta} if (Pos(Cif[1], 'ABCDEFGHPQSKLMX') = 0) then Result := False else {Se comprueba si es un extranjero, en ese caso se calcula el nif, cambiando la X, por 0} if Cif[1] = 'X' then Result := EsNif('0'+Copy(Cif,2,8)) else begin Suma:= StrToInt(Cif[3])+StrToInt(Cif[5])+StrToInt(Cif[7]); for n := 1 to 4 do Suma := Suma + ((2*StrToInt(Cif[2*n])) mod 10)+((2*StrToInt(Cif[2*n])) div 10); Control := 10 - (Suma mod 10); {Se comprueba si es de tipo 'P' o 'S', es decir, Corporaciones Locales (Ayuntamientos, etc.) y Organismos públicos.} if Pos(Cif[1],'PS')<>0 then {Control tipo letra} Result := (Cif[9] = Chr(64+Control)) else {Resto de tipos de CIF} begin {Control tipo número} if Control = 10 then Control := 0; Result:= ( StrToInt(Cif[9]) = Control); end; end; end; end; No la he probado pruebalo y me cuentas, Suerte. |
#4
|
|||
|
|||
Validacion NSS
function ValidaDCSS(Numero:string):boolean;
var Limpio : string; i,dos : integer; uno : real; begin {El numero de la seguridad social debe entrarse con este formato: 28/1234567/40 o bien: 28/12345678/40 En función de que se trate del numero de una empresa o del numero de un trabajador. } Limpio:=''; for i:=1 to Length(Numero) do if Numero[i] in ['0'..'9'] then Limpio:=Limpio+Numero[i]; {Si no tiene 11 ó 12 digitos, no es válido} if (Length(Limpio)=11) or (Length(Limpio)=12) then begin Uno:=StrToFloat( copy(Limpio,1,Length(Limpio)-2) ); Dos:=StrToInt( copy(Limpio,Length(Limpio)-1,2) ); Result:=Trunc( ( (Uno/97)-Trunc(Uno/97) )*97 )=Dos; end else Result:=FALSE; end; begin if ValidaDCSS('46/12345678/43') then ShowMessage('Válido') else ShowMessage('No Válido'); end; Lo mismo de antes, prueba, erra y aprende. Mira a ver si te sirve. Suerte. |
#5
|
|||
|
|||
Thank´s
Gracias por vuestras respuestas, me han sido de gran ayuda
Thank´s Bye, |
#6
|
|||
|
|||
Validacion de CI, Rif, ONG
Hola Amigos, les escribo desde venezuela he revisado en foro y he hallado varias Validaciones. DNI/NIF, NIE, CIF...., he notado que esas validaciones se calculan; en mi caso tengo un campo que se llama "cod_cliente" este debe ser validado para aceptar NUMERO DE IDENTIFICACION Unicos en toda Venezuela y son Asignados al Registrar la Empresa, Usuario u organizacion.
Este campo "Cod_Cliente" debe aceptar 3 tipos de Formatos, acontinuacion se los muestro las X indica cuantos nros debe tener el formato: 1.- Si es Empresa: R.I.F. (Registro de Informacion Fiscal). Siempre tendra el Siguiente Formato : J-XXXXXXXX-X V-XXXXXXXX-X 2.- Si es una Organizacion del Gobierno: O.N.G. (Organizacion No Gubernamental). Siempre tendra el Siguiente Formato: G-XXXXXXXX-X 3.- Si es un Usuario Cualquiera: C.I. (Cedula de Identidad). Este numero es Unico e identifica a cualquier Persona en Toda venezuela, Puede tener 3 Poseer Formatos : V-XXXXXXXX V-XXXXXXX E-XXXXXXXX He buscado en el foro y TMania Explorer, sin embargo no encuentro nada, Porfavor les Agradeceria me puedan ayudar con una funcion de validacion..!!!! |
#7
|
|||
|
|||
Validación del número de r.i.f.
Buenas tardes.
También estoy interesado en conocer como se genera el digito validador del r.i.f., si ya lo averiguastes mucho te agradecería compartieras esa información. Gracias de antemano. Jorge Useche 0416-461.69.97 venezuela |
|
|
|