26/02/2010, 09:22
|
| | Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 10 meses Puntos: 0 | |
Respuesta: cuenta bancaria "IBAN" validar java. VALIDAR CUENTA CORRIENTE ESPAÑOLA EN JAVA
FORMATO
BANCO SUCURSAL DC CCC
2100 0813 61 0123456789
public static Boolean validarCuentaBancaria(String cuenta)
{
Pattern cuentaPattern = Pattern.compile("\\d{20}");
Matcher m = cuentaPattern.matcher(cuenta);
if (m.matches())
{
// cuenta cumple el patrón (20 dígitos)
String banco = cuenta.substring(0, 4);
String sucursal = cuenta.substring(4,8);
String dC = cuenta.substring(8, 10);
String CCC = cuenta.substring(10, 20);
if (!( obtenerDigito("00" + banco + sucursal ) == Integer.parseInt(String.valueOf(dC.charAt(0))))
||!(obtenerDigito(CCC) == Integer.parseInt(String.valueOf(dC.charAt(1)))))
return false;
else
return true;
}
return false;
}
public static int obtenerDigito(String valor)
{
Integer[] valores = new Integer[]{1, 2, 4, 8, 5, 10, 9, 7, 3, 6};
Integer control = 0;
for (int i=0; i <=9; i++)
control += Integer.parseInt(String.valueOf(valor.charAt(i))) * valores[i];
control = 11 - (control % 11);
if (control == 11)
control = 0;
else if (control == 10)
control = 1;
return control;
} |