Here’s a flutter dart plugin that would detect the credit cart type that is being inputed based on the prefix.
Credit Card Type Detector || credit_card_type_detector
A Dart package that detects credit card types based on the current credit card number patterns.
This is a port from Braintree’s credit-card-type module
- Add dependency to your
pubspec.yamlGet the current version in the ‘Installing’ tab on pub.dartlang.org
dependencies: credit_card_type_detector: ^1.0.2
- Import the package
import 'package:credit_card_type_detector/credit_card_type_detector.dart'; String visa = "4647 7200 6779 1032"; var type = detectCCType(visa); assert(type == CreditCardType.visa)
Check out the example app in the example directory or the ‘Example’ tab on pub.dartlang.org for a more complete example using the BLoC pattern
No external dependencies
* Visa * Mastercard * American Express * Discover * Diners Club * JCB * Union Pay * Maestro * Mir * Elo * Hiper/Hipercard
Each card type has a corresponding list of patterns. See the
Each pattern is an array of strings that represents a range of numbers or a single number. These numbers correspond to the Issuer Identification number (IIN) for the credit card company.
If the pattern is an array with a single number, the package compares it against the card number. Partial matches for card numbers that are shorter than the pattern also match. I.e. given the pattern
123, then the card numbers
1234 will all match, but
124 will not.
If the pattern is an array of numbers, then the card number is checked to be within the range of those numbers. Again, partial matches are accepted. I.e. given the range
[100, 123], then the card numbers
123 will all match, but
124 will not.
The package loops over every card type and everyone of its corresponding patterns.
CreditCardType.visa for any card number that starts with ‘4’.