Bonjour,

J'utilise un script qui me calcul la clé rib des comptes bancaires.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function calRib(banque, guichet, compte) 
{
	var rib = "";
	if (5 != banque.length || 5 != guichet.length || 11 != compte.length) return;
 
	function replaceAlpha(alpha) 
	{
		return '12345678912345678923456789'.charAt(alpha.charCodeAt(0) - 65); 
	}
	compte= parseInt(compte.toUpperCase().replace(/[A-Z]/g, replaceAlpha), 10);
	rib = 97 - (((parseInt(banque, 10)% 97 * 100000 + parseFloat(guichet)) % 97 * 100000000000 + compte) % 97) * 100 % 97;
	if(rib.length==1) rib = '0'+rib;
	return rib;
}
Le rib calculé peut parfois avoir un valeur à un chiffre (exemple 4).

Dans ce cas, le résultat ne comprend qu'un seul chiffre (4) au lieu de 2 attendu (04)

Pour rajouter le "0" devant, je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(rib.length==1) rib = '0'+rib;
Mais il n'aime pas du tout le mode de récupération de la longueur.

J'ai cherché mon erreur de syntaxe et je ne vois pas. Pourtant "rib.length" me semble correct.

Merci d'avance.