Ver Mensaje Individual
  #12 (permalink)  
Antiguo 26/08/2011, 01:30
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 9 meses
Puntos: 253
Respuesta: Digito Verificacion Colombia

Es que no te has leído mi post? Te he dejado un enlace (son esas palabritas que salen sombreadas en gris y con la letra naranja). Si lo sigues verás que es una página de la wikipedia que habla de lo que pides y si te molestas en darle al scroll un par de veces para abajo, verás el código PHP directamente colocado en la web, pero bueno, no vaya a ser que te dé un jamacuco, te lo pego aquí, que lo verás mejor:
Código PHP:
Ver original
  1. function valcuenta_bancaria($cuenta1,$cuenta2,$cuenta3,$cuenta4){
  2. if (strlen($cuenta1)!=4) return false;
  3. if (strlen($cuenta2)!=4) return false;
  4. if (strlen($cuenta3)!=2) return false;
  5. if (strlen($cuenta4)!=10) return false;
  6.  
  7. if (mod11_cuenta_bancaria("00".$cuenta1.$cuenta2)!=$cuenta3{0}) return false;
  8. if (mod11_cuenta_bancaria($cuenta4)!=$cuenta3{1}) return false;
  9. return true;
  10. }
  11. //////////////////////////////////////////////////////////////////////////////////////
  12.  
  13. function mod11_cuenta_bancaria($numero){
  14. if (strlen($numero)!=10) return "?";
  15.  
  16. $cifras = Array(1,2,4,8,5,10,9,7,3,6);
  17. $chequeo=0;
  18. for ($i=0; $i < 10; $i++)
  19.     $chequeo += substr($numero,$i,1) * $cifras[$i];
  20.  
  21. $chequeo = 11 - ($chequeo % 11);
  22. if ($chequeo == 11) $chequeo = 0;
  23. if ($chequeo == 10) $chequeo = 1;
  24. return $chequeo;
  25. }

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?