20 lines
880 B
Text
20 lines
880 B
Text
These subroutines tell you whether a credit card number is
|
|
self-consistent -- whether the last digit of the number is a valid
|
|
checksum for the preceding digits.
|
|
|
|
The validate() subroutine returns 1 if the card number provided passes
|
|
the checksum test, and 0 otherwise.
|
|
|
|
The cardtype() subroutine returns a string containing the type of card:
|
|
"MasterCard", "VISA", and so on. My list is not complete; I welcome
|
|
additions.
|
|
|
|
The generate_last_digit() subroutine computes and returns the last digit
|
|
of the card given the preceding digits. With a 16-digit card, you
|
|
provide the first 15 digits; the subroutine returns the sixteenth.
|
|
|
|
This module does not tell you whether the number is on an actual card,
|
|
only whether it might conceivably be on a real card.
|
|
|
|
These subroutines will also work if you provide the arguments as numbers
|
|
instead of strings, e.g. validate(5276440065421319).
|