Sviluppo4d.it
Sito indipendente di informazioni tecniche per sviluppatori 4th Dimension italiani  

Sviluppatori 4D

Utility 4D

Risorse 4D



4d logo
Naviga: Prev Next

Titolo: Controllo del Codice IBAN

Categoria: Codice Ultimo Aggiornamento: 30/04/04


L’IBAN (International Bank Account Number) è la coordinata bancaria internazionale che consente di identificare, in maniera standard, il conto corrente del beneficiario permettendo all’ordinante o alla banca di quest’ultimo di verificarne la correttezza grazie ai due caratteri di controllo.

  La struttura dell’IBAN per l’Italia è fissata in 27 caratteri:
  1) IT = ISO Country Code, identificativo per l'italia (SM per San Marino)
  2) 1 = CIN carattere alfabetico di controllo
  3) 5 = ABI o Bank Code solo numeri
  4) 5 = CAB o Branch Code solo numeri
  5) 12 = C/C numero di conto (solo numeri riempito a sinistra di zeri)

Potete trovare nfo più dettagliate sul sito: http://www.ecbs.org/iban.htm

    `Marco Caratto 5-3-2004
    `procedura di verifica codice IBAN, restituisce True se corretto
C_TEXT($1;$V_Tx_Deposito;$V_Tx_StringaRisultante)
C_INTEGER($V_I_conta;$V_I_Carattere;$V_I_Resto)  ` variabile contatore
C_BOOLEAN($0)
$0:=True  ` imposto il default a vero
$V_Tx_StringaRisultante:=""  ` variabile per la stringa di controllo
$V_I_Resto:=0  ` variabile per il resto della divisione per 97
If (Length($1)<5) 
  ` se la lunghezza del iban è inferiore a 5 è sbagliato
  $0:=False
Else
  ` metto i primi 4 caratteri in coda
  $V_Tx_Deposito:=Substring($1;5)+Substring($1;1;4)  
  If (Substring($1;3;2)>"96")
    $0:=False  ` il codice di controllo non può essere superiore a 96
  Else
    For ($V_I_conta;1;Length($V_Tx_Deposito))
    ` esamino il$V_I_conta esimo carattere
      $V_I_Carattere:=Ascii(Substring($V_Tx_Deposito;$V_I_conta;1))  
      If (($V_I_Carattere>=48) & ($V_I_Carattere<=57))  ` per cifra 0-9
        If (($V_I_conta=(Length($V_Tx_Deposito)-3)) | ($V_I_conta=(Length($V_Tx_Deposito)-2)))
          $0:=False  ` il primo ed il secondo carattere non possono essere numeri
        End if
        $V_I_Numero:=$V_I_Carattere-48
      Else
        If (($V_I_Carattere>=65) & ($V_I_Carattere<=90))  ` per cifra 0-9
          If (($V_I_conta=(Length($V_Tx_Deposito)-1)) | ($V_I_conta=(Length($V_Tx_Deposito))))
           $0:=False  ` il terzo ed il quarto carattere non possono essere lettere
          End if
          $V_I_Numero:=$V_I_Carattere-55
        End if
      End if
      If ($V_I_Numero>9)
        $V_I_Resto:=Mod((100*$V_I_Resto+$V_I_Numero);97)
      Else
        $V_I_Resto:=Mod((10*$V_I_Resto+$V_I_Numero);97)
      End if
    End for
  $0:=($V_I_Resto=1)  ` se il resto finale è 1 il codice è corretto
  End if
End if

Inviato da: Marco Caratto Visite: 22101

Se accedi con utente e password, puoi aggiungere dei commenti.


Accesso

User:
Pass: Accedi

Cerca

Se non trovi le informazioni che cerchi scrivi a aiuto@sviluppo4d.it

4D Principali

4D Discussioni

Faq random


Crediti

Dominio registrato da ZetaNet
Sito realizzato da Nexus srl
4D SQL 11.9.0 offerto da 4D & Italsoftware
Icone di FAMFAMFAM
Moderato da Umberto Migliore
301 utenti registrati

Pagina servita il 19/03/24 alle 08:43:11 Valid HTML 4.01! Valid CSS!

Mutuo Facile, iDigitalScout, iDigitalTags e altre app di Nexid srl per iPhone e iPad

Cidroid, distributore italiano lettori barcode per IOS Apple iPhone, iPod, iPad