Cómo validar una cuenta bancaria en Java

Desde que se instauró el IBAN como código estándar para cuentas bancarias a nivel europeo, pasó a sustituir al anterior CCC (código de cuenta cliente) por lo que para validar una cuenta bancaria en Java nos fijaremos en los cuatro caracteres que forman el IBAN.

Los dos primeros se corresponden con las letras que identifican el país, “ES” para España donde la letra E equivale a un peso de 14 y la letra S a uno de 28. Los dos dígitos siguientes son los dígitos de control.

Como vamos a trabajar con una cuenta bancaria y es un número muy grande (más de 2o dígitos) necesitaremos importar la clase BigInteger y crear dos variables de este tipo. Siempre hay que inicializar las variables, así que una de ellas a cero y la otra a 97, ya que forma parte de la fórmula para calcular los dígitos de control. La variable i se inicializa a 2 porque el primer número debe estar en esta posición, estando en la 0 y la 1, la E y la S respectivamente.

Una vez comprobado que la cuenta introducida por el cliente es de 24 caracteres donde los dos primeros son las letras E y S, vamos a verificar que el resto de los caracteres sean dígitos. Para eso recurrimos a la tabla ASCII y al método codePointAt() que convierte a ASCII un carácter.

Si el resto de caracteres son dígitos, ahora asignamos a la variable cuentaNumero todos los dígitos de la cuenta introducida por el usuario + “142800”, donde 14 y 28 corresponden con las letras ES y 00 representan los dígitos de control a calcular.

Al finalizar comparamos si nuestro dígito de control es igual al introducido por el usuario. Si es así, esValido seguirá siendo true y la cuenta será correcta.

Como curiosidad, la variable cuentaNumero se inicializa al valor de la cuenta después de verificar que el resto de caracteres sean dígitos. Si se hace en el momento de declararla, puede darnos algún error, como podría ser en el caso de que la cuenta tenga menos de 24 caracteres, saltando un aviso de Excepción al ejecutar.

En otra ocasión aprenderemos a validar una cuenta bancaria del resto de países de la Unión Europea.


Like what you read? Give Manuel Mato a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.