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;
}