public static bool ValidateIBAN(string iban)
{
if (string.IsNullOrEmpty(iban) || (!Regex.IsMatch(iban, "^[A-Z0-9]")))
{
return false;
}
iban = iban.Replace(" ", String.Empty);
string iban2 = iban.Substring(4, iban.Length - 4) + iban.Substring(0, 4);
const int asciiShift = 55;
var sb = new StringBuilder();
foreach (char c in iban2)
{
int x = Char.IsLetter(c) ? c - asciiShift : int.Parse(c.ToString());
sb.Append(x);
}
string checkSumString = sb.ToString();
int checksum = int.Parse(checkSumString.Substring(0, 1));
for (var i = 1; i < checkSumString.Length; i++)
{
int v = int.Parse(checkSumString.Substring(i, 1));
checksum *= 10;
checksum += v;
checksum %= 97;
}
return (checksum == 1);
}
miércoles, 23 de diciembre de 2015
Validar un IBAN con C#
Os adjunto una función en c# que al pasarle una cadena de carácteres con el IBAN a validar este devuelve True si es correcta.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario