table of contents
        
      
      
    | Algorithm::CheckDigits::M11_015(3) | User Contributed Perl Documentation | Algorithm::CheckDigits::M11_015(3) | 
NAME¶
CheckDigits::M11_015 - compute check digits for ESR5 (CH)
SYNOPSIS¶
  use Algorithm::CheckDigits;
  $ustid = CheckDigits('esr5_ch');
  if ($ustid->is_valid('050001000012000 241170032660178 10304')) {
        # do something
  }
  $cn = $ustid->complete('0001000012000 241170032660178 10304');
  # $cn = '050001000012000 241170032660178 10304'
  $cd = $ustid->checkdigit('0001000012000 241170032660178 10304');
  # $cd = '05'
  $bn = $ustid->basenumber('050001000012000 241170032660178 10304');
  # $bn = '0001000012000 241170032660178 10304';
DESCRIPTION¶
ALGORITHM¶
- 1.
 - Beginning right all digits are weighted with the repeating sequence 2, 3, 4, 5, 6, 7.
 - 2.
 - The weighted digits are added.
 - 3.
 - The sum from step 2 is taken modulo 11.
 - 4.
 - The checkdigit is 11 minus the sum from step 3. If the difference is 11, the checkdigit is 00.
 
METHODS¶
- is_valid($number)
 - Returns true only if $number consists solely of
      numbers (with or without space between them) and the first two digits are
      valid check digits according to the algorithm given above.
    
Returns false otherwise,
 - complete($number)
 - The check digit for $number is computed and
      inserted before the $number.
    
Returns the complete number with check digit or '' if $number does not consist solely of digits, spaces.
 - basenumber($number)
 - Returns the basenumber of $number if
      $number has a valid check digit.
    
Return '' otherwise.
 - checkdigit($number)
 - Returns the check digits of $number if
      $number has valid check digits.
    
Return '' otherwise.
 
EXPORT¶
None by default.
AUTHOR¶
Mathias Weidner, "<mamawe@cpan.org>"
SEE ALSO¶
perl, CheckDigits, http://www.pruefziffernberechnung.de/E/Einzahlungsschein-CH.shtml (german), http://www.sic.ch/de/dl_tkicch_dta.pdf, page 52 (german)
| 2021-11-17 | perl v5.26.1 |