Feedback

C# - IBAN Checksumme prüfen

Veröffentlicht von am 20.12.2013
(0 Bewertungen)
Mit diesem Snippet kann man eine IBAN überprüfen, ob die Checksumme bzw. Prüfsumme für diese IBAN korrekt ist.

Aufruf:
MyExtensions.IbanChecksumCheck("DE68 2105 0170 0012 3456 78");

oder
"DE68 2105 0170 0012 3456 78".IbanChecksumCheck();
public static class MyExtensions
{
 /// <summary>
 /// Bestimmt ob die Checksumme einer IBAN gültig ist
 /// </summary>
 /// <param name="iban">Der zu prüfende IBAN (z.B: "DE68 2105 0170 0012 3456 78")</param>
 /// <returns><c>True</c>, wenn <paramref name="value"/> gültig ist. Andernfalls <c>False</c>.</returns>
	public static bool IbanChecksumCheck(this string iban)
	{
		string ibanCleared = iban.ToUpper().Replace(" ","").Replace("-","");
		string ibanSwapped = ibanCleared.Substring(4)+ibanCleared.Substring(0,4);
		string sum = ibanSwapped.Aggregate("", (current, c) => current + (char.IsLetter(c) ? (c - 55).ToString() : c.ToString()));

		var d = decimal.Parse(sum);
		return ((d % 97) == 1);
	}
}
Abgelegt unter IBAN, Prüfsumme, Checksumme.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!