CreditCardValidator
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
Supported Card Issuers
The following card issuers are supported:
AmericanExpress | MasterCard | Maestro | DinersClub | Discover |
Hipercard | Visa | Laser | ChinaUnionPay | Dankort |
Rupay | ArCa | Switch | JCB |
Usage
CreditCardDetector
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
CreditCardFactory
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
CreditCardStringExtension
"4953089013607".CreditCardBrand(); // => CardIssuer.Visa
"4953089013607".CreditCardBrandName() // => Visa
"348051773827666".ValidCreditCardBrand(CardIssuer.AmericanExpress); // => True
"495308".CreditCardBrandIgnoreLength(); // => CardIssuer.Visa
"495308".CreditCardBrandNameIgnoreLength() // => Visa
Luhn
Luhn.CheckLuhn("4953089013607"); // => True
Luhn.CreateCheckDigit("495308901360"); // => 7
Contributing
- 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