Vérification de validité d'un rib

Soyez le premier à donner votre avis sur cette source.

Snippet vu 54 342 fois - Téléchargée 33 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

Messages postés
1
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
19 octobre 2010

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
Messages postés
1
Date d'inscription
vendredi 29 janvier 2010
Statut
Membre
Dernière intervention
6 mars 2010

slt
svp je veux un projet complet de gestion bancaire avc ado.net ou asp.net!!!!
svp jai besoin de ce projet
merci davance
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

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
Messages postés
2
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
23 février 2007

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.