19 stable releases
2.4.0 | Mar 30, 2024 |
---|---|
2.3.0 | Apr 3, 2023 |
2.2.3 | Jan 8, 2023 |
2.2.2 | Feb 19, 2019 |
0.2.2 | Aug 27, 2017 |
#30 in Value formatting
11,057 downloads per month
Used in 12 crates
(8 directly)
11KB
202 lines
rs-card-validate
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.
Supported providers
Debit cards:
- Visa Electron
- Maestro
- Forbrugsforeningen
- Dankort
Credit cards:
- Visa
- MasterCard
- American Express
- MIR
- Diners Club
- Discover
- UnionPay
- JCB
Install library
In your Cargo.toml
:
[dependencies]
card-validate = "2.3"
Validate a number
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)
}
Dependencies
~2.2–3MB
~55K SLoC