abracadabraPDF › Forums › PDF – Général › Calcul de la clé RIB d’un compte en javascript › Répondre à : Calcul de la clé RIB d’un compte en javascript
21 juin 2014 à 23:22
#57324
Membre
Bonsoir,
tu peux mettre le code ci-dessous dans les scripts de calcul personnalisé (il y a surement plus « court » pour transcoder du alphanumérique en numérique suivant la table de transco que j’ai repris).
Pour info, j’ai repris les noms de tes champs de formulaires.
Code:
var a = « »;
num = « a » + this.getField(« compte »).value;
if(num.length == 12)
{
for(var i = 2; i<=12; i++)
{
if((num.substring(i-1,i)/1) == num.substring(i-1,i))
{
a = a + « » + num.substring(i-1,i);
}
else
{
if( num.substring(i-1,i) == « A » || num.substring(i-1,i) == « J »)
a = a + « 1 »;
if( num.substring(i-1,i) == « B » || num.substring(i-1,i) == « K » || num.substring(i-1,i) == « S »)
a = a + « 2 »;
if( num.substring(i-1,i) == « C » || num.substring(i-1,i) == « L » || num.substring(i-1,i) == « T »)
a = a + « 3 »;
if( num.substring(i-1,i) == « D » || num.substring(i-1,i) == « M » || num.substring(i-1,i) == « U »)
a = a + « 4 »;
if( num.substring(i-1,i) == « E » || num.substring(i-1,i) == « N » || num.substring(i-1,i) == « V »)
a = a + « 5 »;
if( num.substring(i-1,i) == « F » || num.substring(i-1,i) == « O » || num.substring(i-1,i) == « W »)
a = a + « 6 »;
if( num.substring(i-1,i) == « G » || num.substring(i-1,i) == « P » || num.substring(i-1,i) == « X »)
a = a + « 7 »;
if( num.substring(i-1,i) == « H » || num.substring(i-1,i) == « Q » || num.substring(i-1,i) == « Y »)
a = a + « 8 »;
if( num.substring(i-1,i) == « I » || num.substring(i-1,i) == « R » || num.substring(i-1,i) == « Z »)
a = a + « 9 »;
}
}
var RIB = 97 – ( (89 * this.getField(« banque »).value + 15 * this.getField(« guichet »).value + 3 * a ) % 97 );
this.getField(« Cle »).value = RIB;
}
num = « a » + this.getField(« compte »).value;
if(num.length == 12)
{
for(var i = 2; i<=12; i++)
{
if((num.substring(i-1,i)/1) == num.substring(i-1,i))
{
a = a + « » + num.substring(i-1,i);
}
else
{
if( num.substring(i-1,i) == « A » || num.substring(i-1,i) == « J »)
a = a + « 1 »;
if( num.substring(i-1,i) == « B » || num.substring(i-1,i) == « K » || num.substring(i-1,i) == « S »)
a = a + « 2 »;
if( num.substring(i-1,i) == « C » || num.substring(i-1,i) == « L » || num.substring(i-1,i) == « T »)
a = a + « 3 »;
if( num.substring(i-1,i) == « D » || num.substring(i-1,i) == « M » || num.substring(i-1,i) == « U »)
a = a + « 4 »;
if( num.substring(i-1,i) == « E » || num.substring(i-1,i) == « N » || num.substring(i-1,i) == « V »)
a = a + « 5 »;
if( num.substring(i-1,i) == « F » || num.substring(i-1,i) == « O » || num.substring(i-1,i) == « W »)
a = a + « 6 »;
if( num.substring(i-1,i) == « G » || num.substring(i-1,i) == « P » || num.substring(i-1,i) == « X »)
a = a + « 7 »;
if( num.substring(i-1,i) == « H » || num.substring(i-1,i) == « Q » || num.substring(i-1,i) == « Y »)
a = a + « 8 »;
if( num.substring(i-1,i) == « I » || num.substring(i-1,i) == « R » || num.substring(i-1,i) == « Z »)
a = a + « 9 »;
}
}
var RIB = 97 – ( (89 * this.getField(« banque »).value + 15 * this.getField(« guichet »).value + 3 * a ) % 97 );
this.getField(« Cle »).value = RIB;
}
:Smiley01: