DEV Community

Cover image for Como validar IBAN español con C#
Diego
Diego

Posted on

Como validar IBAN español con C#

Hola, en este pequeño algoritmo, os defino como se escribe en C# una función para validar si un número de cuenta IBAN español, pasado como argumento, es válido o no:

 public int ValidaIBAN(string iban)
 {
     if (string.IsNullOrWhiteSpace(iban))
         return 0;

     // Eliminar espacios y convertir a mayúsculas
     iban = iban.Replace(" ", "").ToUpper();

     // Verificar longitud exacta de IBAN español (24 caracteres)
     if (iban.Length != 24)
         return 0;

     // Extraer los 20 dígitos del BBAN (sin los 4 caracteres iniciales "ESXX")
     string bban = iban.Substring(4);

     // Código de España "ES" convertido a números = "1428"
     string numericIban = bban + "1428" + iban.Substring(2, 2); // Mueve los dígitos de control al final

     Console.WriteLine(numericIban);

     // Convertir a BigInteger y calcular el módulo 97
     BigInteger ibanNumber = BigInteger.Parse(numericIban);

     if (ibanNumber % 97 == 1)
         return 1;
     else
         return 0;
 }
Enter fullscreen mode Exit fullscreen mode

Es una cosa muy sencilla, con la que llevo peleando durante un rato. Espero que a alguien le pueda servir ;-)

Top comments (0)