CreditCardValidator helps you validate credit card numbers, identify its issuer (Visa, Mastercard, etc), verify length, prefixes and check it through the Luhn algorithm.
It can also generate random credit card numbers for testing purposes.
Nuget Package -> https://www.nuget.org/packages/CreditCardValidator
The following card issuers are supported:
AmericanExpress | MasterCard | Maestro | DinersClub | Discover |
Hipercard | Visa | Laser | ChinaUnionPay | Dankort |
Rupay | Solo (Deprecated) | Switch | JCB | - |
CreditCardDetector detector = new CreditCardDetector("4012 8888 8888 1881");
detector.CardNumber; // => 4012888888881881
detector.IsValid(); // => True
detector.IsValid(CardIssuer.Maestro); // => False
detector.Brand; // => CardIssuer.Visa
detector.BrandName; // => Visa
detector.IssuerCategory; // => Banking and financial
Generates random credit card numbers of a specific CardIssuer.
string visaNumber = CreditCardFactory.RandomCardNumber(CardIssuer.Visa);
// => 4953089013607
string amexNumber = CreditCardFactory.RandomCardNumber(CardIssuer.AmericanExpress);
// => 373485467448025
string masterCardNumber = CreditCardFactory.RandomCardNumber(CardIssuer.MasterCard);
// => 5201294442453002
string chinaUnionPayNumber = CreditCardFactory.RandomCardNumber(CardIssuer.ChinaUnionPay);
// => 6280209982074556
Generates random credit card numbers of a specific CardIssuer with any valid card length.
string visaNumber = CreditCardFactory.RandomCardNumber(CardIssuer.Visa, 16);
// => 4556672647860978
"4953089013607".CreditCardBrand(); // => CardIssuer.Visa
"4953089013607".CreditCardBrandName() // => Visa
"348051773827666".ValidCreditCardBrand(CardIssuer.AmericanExpress); // => True
"495308".CreditCardBrandIgnoreLength(); // => CardIssuer.Visa
"495308".CreditCardBrandNameIgnoreLength() // => Visa
Luhn.CheckLuhn("4953089013607"); // => True
Luhn.CreateCheckDigit("495308901360"); // => 7