¿Cómo comprobar un número IBAN usando el Apache IBANCheckDigit?
En mi aplicación de Android, intento comprobar si un número de cuenta bancaria de IBAN es válido. Esto supuestamente puede hacerse utilizando el IBANCheckDigit de Apache . Ahora intento hacerlo de la siguiente manera:
IBANCheckDigit a = new IBANCheckDigit(); try { String checkDigit = a.calculate("MY_IBAN_NUMBER_HERE"); Boolean b = a.isValid(checkDigit); Log.e("isValid: ", b.toString()); } catch (CheckDigitException e) { Log.e(this, "THIS IS AN ERROR"); }
Esto sin embargo, siempre imprime false
. Incluso si inserto mi propio (correcto) número IBAN, también da un false
.
- Cómo convertir InputStream en origen?
- Android MVP dudas sobre la validación
- Android manual X509 validación de la cadena de certificados
- Cómo validar String usando expresión regular en java
- Android: validar contraseña, conformar contraseña y pasar un valor de cadena a través de botón
¿Alguien sabe cómo usar este Apache IBANCheckDigit? Cualquier sugerencia es bienvenida!
- Cómo cambiar la contraseña usando la contraseña antigua en el análisis de android
- Cómo validar el código ussd para la comprobación del saldo
- Añadir una anotación personalizada a Android Saripaar
- RxJava- validación de formulario RxAndroid en dynamic EditText
- Mostrar error si el usuario introduce sólo espacios en EditText - Android
- Validar "desde fecha" y "hasta la fecha" en android
- ¿Cómo puedo verificar que la imagen URI es válida en Android?
- Cómo restringir el tiempo de entrada para edittext en android
Para comprobar si los dígitos del cheque IBAN son válidos, utilice sólo el método isValid
:
Boolean b = a.isValid("MY_IBAN_NUMBER_HERE"); Log.e("isValid: ", b.toString());
El método de calculate
calcularía los dígitos de verificación si aún no los conocía.
Iban4j podría ser una buena opción para la validación de IBAN, que está validando no sólo el dígito de control sino también la longitud, la estructura, los tipos de caracteres IBAN, etc …
Página de inicio: https://github.com/arturmkrtchyan/iban4j
Ejemplo de código:
try { IbanUtil.validate("AT611904300234573201"); // valid } catch (IbanFormatException e) { // invalid }
Maven dependencia:
<dependency> <groupId>org.iban4j</groupId> <artifactId>iban4j</artifactId> <version>1.0.0</version> </dependency>
- Cómo resolver tipos inconvertibles no puede lanzar "Android.support.v4.app.fragment" a "nombre de paquete"
- Excepción de mapas de Android java.lang.NoClassDefFoundError: android.security.MessageDigest