International Bank Account Number/fi
From Free Pascal wiki
Jump to navigationJump to search
│
English (en) │
suomi (fi) │
français (fr) │
Kansainvälinen pankkitilinumero ( IBAN = International Bank Account Number ) on kansainvälinen standardi pankkien tilinumeroista. Se on määritelty ISO 13616 standardissa. IBAN sisältää maksimissaan 34 merkkiä, joka sisältää maa koodin, kaksi tarkistusnumeroa ja yksilöivän pankin tilinumeron.
Maakoodissa ilmoitetaan ISO 3166-1 alpha-2 standardin mukaisesti.
Tarkistusnumero lasketaan ISO 7064 (MOD97-10) standardin mukaisesti.
Funktio IsValidIban
Funktio IsValidIban tarkistaa onko kansainvälinen pankkitilinumero sääntöjen mukainen. Funktio StrMOD97 löytyy täältä ISO_7064#Function StrMOD97
function ReplaceLetterWithNumbers ( a_char:char):string;
var
i: integer;
begin
i := ord( upcase( a_char ) ) - ord( 'A' ) + 10;
result := IntToStr( i );
end;
function IsValidIban( s:string): boolean;
var
a_char: char;
s1: string;
i : integer;
begin
s := DelSpace( s );
s1 := copy( s, 1, 4);
delete(s, 1, 4);
a_char := s1[1];
delete(s1, 1, 1);
s := s + ReplaceLetterWithNumbers ( a_char ) ;
a_char := s1[1];
delete(s1, 1, 1);
s := s + ReplaceLetterWithNumbers ( a_char ) ;
s := s + s1;
i := StrMOD97( s );
Result := i = 1;
end;