· NET  · Lectura en 3 min

C# Validar IBAN con .NET

Aprende como validar un DNI con C# y un paquete Nuget de forma rápida

Aprende como validar un DNI con C# y un paquete Nuget de forma rápida

Al principio pensé en explicar en este artículo cómo se genera el dígito de control del IBAN y hacer un algoritmo para validar el IBAN con .NET. La verdad es que validar un IBAN no es tan fácil como validar el DNI así que decidí plantear el artículo de otra forma y utilizar un paquete Nuget para realizar una verificación rápida.

Un IBAN consta de 2 letras que son el código del país, 2 dígitos de control y hasta 30 dígitos que varían según el país, ya que cada uno adapto su número de cuenta viejo al nuevo formato IBAN.

Por ejemplo, en España teníamos el código de cuenta bancaría (CCC) y al ser convertido al IBAN se compone de dos letras «ES», los dos dígitos de control y 20 dígitos que corresponden 4 al código del banco, 4 al código de sucursal, 2 un código de control interno de España y por último 10 dígitos que corresponden al número de cuenta.

Cómo validar IBAN con .NET

Para realizar esta verificación utilizaremos el paquete Iban.Net así que lo instalamos en el proyecto que queramos validar el IBAN.

Paquete Nuget Validar IBAN

Una vez instalado el paquete podremos realizar cualquier validación de IBAN así:

IIbanValidator validator = new IbanValidator();
ValidationResult validationResult = validator.Validate("NL91 ABNA 0417 1643 00");
if (validationResult.IsValid)
{
    // El IBAN es valido
}

Personalmente prefiero realizar una función estática para que cada vez que tenga que validar un IBAN no tener que instanciar la clase, para ello he creado la función CheckIban que devuelve un boolean con un true en caso de que el IBAN sea válido y un false en caso de que no.

Código C# para validar IBAN

A continuación te dejo un ejemplo de una aplicación de escritorio que cogería el IBAN de un Textbox:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        //Obtenemos el Iban de un texto y eliminamos espacios en blanco
        string iban = txtIban.Text.Replace(" ", "");

        //Utilizamos nuestra función 
        if (CheckIban(iban))
        {
            //Iban valido
            MessageBox.Show("Iban Valido");
        }
        else
        {
            //Iban invalido
            MessageBox.Show("Iban incorrecto");
        }
    }

    private static bool CheckIban(string iban)
    {
        //Funcio para calcular si es valido el iban. 

        IIbanValidator validator = new IbanValidator();
        var validationResult = validator.Validate(iban);

        return validationResult.IsValid;
    }

Para acabar me gustaría añadir un pequeño detalle, el usuario puede introducirte caracteres que hagan que el IBAN no sea válido. El campo donde se introduzca el IBAN debería de impedir escribir cualquier otra cosa que no sean letras y números, puedes permitir espacios si luego los eliminas como hago yo en el código de ejemplo.

    Compartir
    Volver al blog

    Artículos relacionados

    Ver todos los artículos »
    PHP Switch

    PHP Switch

    Aprende a usar la estructura de control de flujo "switch" en PHP para evaluar expresiones y ejecutar código en función de los resultados. Conoce sus ventajas y limitaciones.

    Herramienta para contar palabras online

    Herramienta para contar palabras online

    Una herramienta online para contar palabras permite a usuarios evaluar rápidamente la longitud de sus documentos, artículos, o asignaciones escolares, garantizando que cumplan con los requisitos específicos de palabras o caracteres. Esta guía explora el uso de dichas herramientas online, mostrando cómo pueden ayudar a mejorar la precisión y eficiencia del proceso de escritura.