Detects and validates credit card numbers (type of card, number length and Luhn checksum).
Important notice: this is a complete rework of @rprotasov initial work, supporting more card providers and containing important validation fixes.
🇫🇷 Crafted in Brest, France.
Debit cards:
- Visa Electron
- Maestro
- Forbrugsforeningen
- Dankort
Credit cards:
- Visa
- MasterCard
- American Express
- MIR
- Diners Club
- Discover
- UnionPay
- JCB
In your Cargo.toml
:
[dependencies]
card-validate = "2.3"
extern crate card_validate;
use card_validate::Validate;
let card_number = "5236313877109142";
match Validate::from(card_number) {
Ok(result) => println!("Card type is: {}", result.card_type.name()),
Err(err) => println!("Card is invalid: {:?}", err)
}