|1.||Beginning left all digits are weighted with 7,3,1,7,3,1,... for pa_de or 3,7,1,3,7,1,3,7,1 for aba_rn.|
|2.||The sum of those products is computed.|
For pa_de the checksum is the last digit of the sum from step 2 (modulo 10).
For aba_rn the checksum is the difference of the sum from step 2 to the next multiple of 10.
For the german Personalausweis step 1 to 3 is performed for every part of
the number and for all 3
parts including the particular checkdigit to compute the total
If the number solely consists of digits, the checksum is just computed once according to algorithm given above.
is_valid($number) Returns true only if $number consists solely of numbers and the last digit is a valid check digit according to the algorithm given above.
Returns false otherwise,
complete($number) The check digit for $number is computed and concatenated to the end of $number.
Returns the complete number with check digit or if $number does not consist solely of digits and spaces.
basenumber($number) Returns the basenumber of $number if $number has a valid check digit.
checkdigit($number) Returns the checkdigit of $number if $number has a valid check digit.
None by default.
Mathias Weidner, <email@example.com>
Aaron W. West pointed me to a fault in the computing of the check digit. Jim Hickstein made me aware of the ABA routing numbers.
perl, CheckDigits, www.pruefziffernberechnung.de, http://answers.google.com/answers/threadview/id/43619.html, http://www.brainjar.com/js/validation/
|perl v5.20.3||ALGORITHM::CHECKDIGITS::MXX_001 (3)||2016-03-17|