My Finance Library contains some utilities for finance-related operations. Its purpose is to gather various common finance operations so that developers do not have to rewrite them every time.
- IBAN validation
- Credit card number validation
- Diner’s Club / Carte Blanche
- American Express
- Luhn algorithm (used in credit card validation, but can be used on its own as well)
Requires .NET Framework 4.0.
First, install Dandago.Finance. You can do this either via the NuGet GUI:
..or via the NuGet Package Manager Console:
Then just add the following statement to be able to access the library’s classes:
Just pass the IBAN number to IbanValidator.IsValidIban():
// valid IBAN bool valid1 = IbanValidator.IsValidIban("AL47212110090000000235698741"); // invalid IBAN bool valid2 = IbanValidator.IsValidIban("ABCDEF");
Validating Credit Cards, and Luhn Algorithm
The CreditCardValidator provides static methods to validate the various supported credit card number types:
bool validDinersClub = CreditCardValidator.IsValidDinersClub("30569309025904"); bool validAmericanExpress = CreditCardValidator.IsValidAmericanExpress("378282246310005"); bool validVisa = CreditCardValidator.IsValidVisa("4111111111111111"); bool validMasterCard = CreditCardValidator.IsValidMasterCard("5555555555554444"); bool validDiscover = CreditCardValidator.IsValidDiscover("6011111111111117");
Each of the above checks does the following:
- Basic checks (e.g. empty string)
- Structural check (based on the format of the credit card number)
- Luhn algorithm to verify checksum
If you want to check whether a credit card number is valid (based on the supported types), but don’t care about the card type itself, you should use CreditCardValidator.IsValidCreditCard(), which performs #1 and #3 only once, but performs #2 per card type:
bool validWhatever = CreditCardValidator.IsValidCreditCard("5555555555554444");
The Luhn algorithm is used to validate credit card number checksums. If you want to use it separately (e.g. to validate an unsupported credit card type), you can:
bool passesLuhn = LuhnAlgorithm.IsValid("5555555555554444");
- International Bank Account Number – Validating the IBAN
- IBAN Registry [PDF]
- How to validate credit card number?
- Test Credit Card Account Numbers
- Luhn Algorithm
- Validate credit card number with Mod 10 algorithm
- Bank card number
12th July 2015 – initial release on NuGet. Includes IBAN validator and credit card validator, the latter covering five major credit cards as well as the Luhn algorithm.