Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Controllo Abi - Cab - Contocorrente

    Ciao A tutti,
    ho un grosso problema, dovrei fare una funzione Javascript che controlli la correttezza di un conto corrente, in pratica devo dividere un numero di 23 CIFRE!!!!!! per 97 o meglio, vedere che il resto sia zero...

    cavoli 23 cifre sono immense e non riesco a fargli fare sto conto!

    secondo voi cosa posso usare?

    Ciao Ciao!
    Non può piovere per sempre http://forum.html.it/forum/faccine/064.gif

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non mi pare che i codice ABI e CAB contengano dei controlli di parita` (quindi non e` possibile controllarli).

    Invece il n. di conto potrebbe contenerlo, ma il controllo dipende dalla singola banca (non so se il conto e` comune a tutte, ma mi suona strano).

    Comunque se conosci l'algoritmo che usano le banche postalo, che proviamo ad implementarlo.

    Un esempio di controllo di parita` un po' complesso, ma semplice da implementare anche in JS e` quello del codice fiscale (lo trovi in qualcuno dei link utili in un thread in testa al forum)

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Ciao , Scusa se non ti ho risposto prima ma ero malato!!!

    Comunque, st facendo una extranet per una società Francese e da loro esiste un metodo per controllare la corretta digitazione di un conto corrente...

    in pratica prendi le 5 cifre dell'ABI gli accodi le 5 del cab poi le 11 del conto corrente ( Con gli zeri davanti se e' piu corto) e in fine le 2 cifre del Check digit...

    da qui ricavo un numero di 23 cifre, questo numero diviso per 97 deve dare resto 0!!

    ora sono riuscito a farlo..


    [CODE]//***************************************
    function Verifica_controcodice(nome_form)
    {
    var numerone
    var risultato
    numerone = '';
    risultato = 0;
    abi_di_cinque = aggiungi_zeri( document.all[nome_form].abi.value , 5);

    cab_di_cinque = aggiungi_zeri( document.all[nome_form].cab.value , 5);

    cc_di_undici = aggiungi_zeri( document.all[nome_form].contocorrente.value , 11);

    contro_di_due = aggiungi_zeri( document.all[nome_form].controcodice.value , 2);

    cc_di_undici = rimpiazza_lettere_numeri(cc_di_undici);
    //risultato = abi_di_cinque + cab_di_cinque + cc_di_undici + contro_di_due ;

    risultato = abi_di_cinque;
    //trovo resto
    risultato = risultato % 97;
    // accodo cab
    risultato = risultato + cab_di_cinque ;
    //trovo resto
    risultato = risultato % 97;
    //accodo conto corrente
    risultato = risultato + cc_di_undici + contro_di_due ;
    //trovo resto
    risultato = risultato % 97;

    if( risultato != 0)
    {
    if(!confirm('Il Controcodice digitato non è corretto, Proseguo Ugualmente?'))
    {
    document.all[nome_form].controcodice.focus();
    return 0;
    }
    }
    return 1
    }
    //***************************************
    function aggiungi_zeri( valore , numero_di_cifre)
    {
    var ritorno
    ritorno = '';

    for( i=0;i<numero_di_cifre; i++)
    {
    if(valore.length > i)
    {

    ritorno = ritorno + valore.substr(i,1) ;
    }
    else
    {
    ritorno = '0' + ritorno;
    }
    }
    return ritorno;
    }
    Non può piovere per sempre http://forum.html.it/forum/faccine/064.gif

  4. #4
    ho dimenticato un pezzo...

    il conto corrente puo contenere anche delle lettre, queste devono essere sostituite con dei numeri...
    A,J = 1
    B,K,S = 2 .... etc etc.. come vedi dall'array qui sotto....



    grazie comunque per esserti interessato, già pensavo che una domanda del genere non l'avrebbe filata nessuno....


    [CODE]//***************************************
    var array_str_num =new Array();
    array_str_num[1]=new Array('A','J');
    array_str_num[2]=new Array('B','K','S');
    array_str_num[3]=new Array('C','L','T');
    array_str_num[4]=new Array('D','M','U');
    array_str_num[5]=new Array('E','N','V');
    array_str_num[6]=new Array('F','O','W');
    array_str_num[7]=new Array('G','P','X');
    array_str_num[8]=new Array('H','Q','Y');
    array_str_num[9]=new Array('I','R','Z');
    function rimpiazza_lettere_numeri( valore )
    {
    var ritorno
    var lettera
    ritorno = '';

    for( i=0;i<valore.length ; i++)
    {
    lettera = valore.substr(i,1);
    lettera = lettera.toUpperCase();
    for(j=1 ;j<=9;j++)
    {
    for(k=0 ;k<array_str_num[j].length;k++)
    {
    if( array_str_num[j][k] == lettera)
    {
    lettera = j;
    }
    }
    }
    ritorno = ritorno + lettera;
    }

    return ritorno;
    }
    Non può piovere per sempre http://forum.html.it/forum/faccine/064.gif

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.