|
|
IBAN prüfen- #24260 in section [743421] |
Sec: |
(1) Allgemeines |
Von: |
Christian Isberner |
An: |
Harro Schippan |
Am/Um: |
26.01.2022 10:06:20 gelesen |
|
Hallo zusammen, hat jemand eine Routine zum Prüfen der IBAN-Nummer? Ich weiß, daß hierzu das MODULO 97 Verfahren benutzt wird. Es gibt ja auch eine Regular Expression für die IBAN-Nummer. Aber die prüft ja nur formal. Ich brauche aber auch eine Routine, die die Prüfziffer checked. Eine Prüfung der BIC-Nummer wäre auch noch sinnvoll. Danke Harro
|
Hier eine Routine welche Ich verwende. Diese verwendet eine CMath Klasse welche Ich dir separat zukommen lassen könnte. LPARAMETERS tcString LOCAL lcRearrange lcRearrange = UPPER(SUBSTR(m.tcString,5) + LEFT(m.tcString,4)) LOCAL lcConvertedIban lcConvertedIban = "" LOCAL lnChar FOR lnChar = 1 TO LEN(m.lcRearrange) IF ISALPHA(SUBSTR(m.lcRearrange, m.lnChar, 1)) && A = 10, B = 11 etc. lcConvertedIban = m.lcConvertedIban + TRANSFORM(ASC(SUBSTR(m.lcRearrange, m.lnChar, 1)) - 55) ELSE lcConvertedIban = m.lcConvertedIban + SUBSTR(m.lcRearrange, m.lnChar, 1) ENDIF ENDFOR && Da der numerische Wert zu groß für VFP Berechnungen ist, benötigt man hierfür die CMath Klasse: LOCAL llRetVal llRetVal = VAL(loCMath.Mod(lcConvertedIban, "97")) = 1 Return m.llRetVal
|
|
|
|