Vérification de validité d'un rib

Soyez le premier à donner votre avis sur cette source.

Snippet vu 56 485 fois - Téléchargée 35 fois

Contenu du snippet

Une source qui manquait sur ce site.

Cette fonction sert à vérifier qu'un RIB est valide
Elle accepte 3 ou 4 arguments :
1/ Si 3 arguments sont passés (banque 5 chiffres, guichet 5 chiffres, n° de compte 11 caractères alpha), la fonction renvoie la clé RIB
2/ Si 4 arguments sont passés (les trois premiers plus la clé RIB, 2 chiffres), la fonction renvoie un booléen : true si le RIB est Ok, false autrement.

La fonction commence par convertir toutes les lettres du numéro de compte (cas des clients Banque de France, la poste, etc...) en chiffres selon la table de correspondance donnée par tab et tab1. C'est ce que fait la boucle while.

L' algorithme utilisé pour calculer la clé RIB est assez tordu, aussi ne le commenterais-je pas, le code est assez simple. (Pour mémoire, bqe%97 calcule le reste de la division de bqe par 97.)

L'algorithme est utilisé par toutes les banques de france et de Navarre. Pour les comptes étrangers, je ne sait pas (Si vous avez des infos à ce sujet, je suis preneur !)

Source / Exemple :


function isRIBvalid()
	{
	
	if (isRIBvalid.arguments.length>=3)
		{
		var bqe=isRIBvalid.arguments[0];
		var gui=isRIBvalid.arguments[1];
		var cpt=isRIBvalid.arguments[2].toUpperCase();

                                // Conversion du numero de compte en chiffres
		var tab= "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		var tab1="123456789123456789234567890123456789".split("");
		
                                while (cpt.match(/\D/) != null)
			cpt=cpt.replace(/\D/, tab1[tab.indexOf(cpt.match(/\D/))]);
		var cp=parseInt	(cpt, 10);

		//Calcul clé RIB
		a=bqe%97;
		a=a*100000+parseInt(gui, 10);
		a=a%97;
		a=a*Math.pow(10, 11) + cp;
		a=a%97
		a=a*100;
		a=a%97
		a=97-a;
		if (isRIBvalid.arguments.length>3)
			return isRIBvalid.arguments[3]==a;
		else
			return a;
		}
	else
		{
		return false;
		}
	}

Conclusion :


Il est hors de question que je fasse apparaître ici des RIB existants pour permettre de vérifier cette source, pas plus que je ne mettrais d'exemples générés par cette même source, ça ne rimerait à rien, donc si vous voulez tester, utilisez votre propre RIB ... ou celui de vos parents.

A voir également

Ajouter un commentaire Commentaires
cs_hamed007 Messages postés 1 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 19 octobre 2010
19 oct. 2010 à 18:03
salut j'aimerais que tu m'aide a calculer un rib pour celà je te donne mon mail pour que je t'envoie le rib par le mail merci de me repondre sur damirou@rocketmail.com
fulla7 Messages postés 1 Date d'inscription vendredi 29 janvier 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 18:03
slt
svp je veux un projet complet de gestion bancaire avc ado.net ou asp.net!!!!
svp jai besoin de ce projet
merci davance
cs_roro06 Messages postés 732 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
23 févr. 2007 à 15:06
l'algo est valide, puisqu'utilisé tel quel depuis 15 ans dans la société où je travaille, et sur certains sites que j'ai mis en place. Jamais personne ne m'a contacté pour mettre ceci en cause. Mais ce n'est pas le plus simple, effectivement, il s'agit d'une traduction d'un prog écrit en RPG400 (langage de l'AS400). l'algo de wikipedia est équivalent
CBE317 Messages postés 2 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 23 février 2007
23 févr. 2007 à 14:40
L'algorithme utilisé me semble complexe et je ne suis pas sur de sa validité.
Sur Wikipedia, on trouve à la rubrique Clé RIB un algorithme beaucoup plus simple.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.