Voici une petite fonction AS3 que j'ai fais à partir de l'algo mathématique de calcul de clé RIB permettant de vérifier la validité d'un RIB :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
 
private function verifRib(banque:int , guichet:int , compte:String , cle:int):Boolean
{
    if(banque != 0 && guichet != 0 && compte != '' && cle != 0) {
        var ribBanque:int = banque;
	var ribGuichet:int = guichet;
	var ribCompte:String = compte.toUpperCase();
	var ribCle:int = cle;
 
	var tab1:Array = new Array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9");
	var tab2:Array = new Array ("1","2","3","4","5","6","7","8","9","1","2","3","4","5","6","7","8","9","2","3","4","5","6","7","8","9","0","1","2","3","4","5","6","7","8","9");
	var regExp:RegExp = /\D/;
 
        while(ribCompte.match(regExp) != null)
	{
		ribCompte = ribCompte.replace(regExp,tab2[tab1.indexOf(ribCompte.match(regExp)[0])]);
	}
 
	var res:int = 97 - ((( 89 * ribBanque ) + ( 15 * ribGuichet ) + ( 3 * parseInt( ribCompte ))) % 97);
 
	return ribCle == res;
 
   } else {
        return false;
   }
}
L'algo utilisé se trouve ici si ça vous intéresse : http://fr.wikipedia.org/wiki/Cl%C3%A9_RIB
Si ça peut aider quelqu'un