deutschsprachige FoxPro User Group
Forum View
Home
  
  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




Harro Schippan   20.01.2022 09:16
Christian Isberner  26.01.2022 10:06
Harro Schippan  27.01.2022 13:26
Harro Schippan  27.01.2022 16:29
Christian Isberner  28.01.2022 08:02
Harro Schippan  28.01.2022 10:40
Harro Schippan  28.01.2022 13:26
S.Schabbach  07.02.2022 13:32
Harro Schippan  08.02.2022 07:10
  
zurück zum Forum