CreditCardValidator helps you implementing validations for the most common credit card brands, verifying length, prefixes and checking the card number through the Luhn algorithm if necessary.
Nuget Package -> https://www.nuget.org/packages/CreditCardValidator
The following issuing institutes are supported:
| AmericanExpress | MasterCard | Maestro | DinersClub | Discover |
| Hipercard | Visa | Laser | ChinaUnionPay | Dankort |
| Rupay | Solo | 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 financialGenerate random credit card numbers from 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"4953089013607".CreditCardBrand(); // => CardIssuer.Visa
"4953089013607".CreditCardBrandName() // => Visa
"348051773827666".ValidCreditCardBrand(CardIssuer.AmericanExpress); // => TrueLuhn.CheckLuhn("4953089013607"); // => True
Luhn.CreateCheckDigit("495308901360"); // => 7- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request