Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Algorithm::CheckDigitsUserXContributed Perl Algorithm::CheckDigits::MXX_001(3)

NAME
       CheckDigits::MXX_001 - compute check digits for german Personalausweis
       (pa_de) or ABA routing numbers (aba_rn)

SYNOPSIS
	 use Algorithm::CheckDigits;

	 $pa = CheckDigits('pa_de');

	 if ($pa->is_valid('2406055684D<<6810203<0705109<6')) {
	       # do something
	 }

	 if ($pa->is_valid('2406055684') {
	       # do_something
	 }

	 $cn = $pa->complete('240605568_D<<681020_<070510_<_');
	 # $cn = '2406055684D<<6810203<0705109<6'

	 $cd = $pa->checkdigit('2406055684D<<6810203<0705109<6');
	 # $cd = '6'

	 $bn = $pa->basenumber('2406055684D<<6810203<0705109<6');
	 # $bn = '240605568_D<<681020_<070510_<_'

	 $aba =	CheckDigits('aba_rn');
	 if ($aba->is_valid('789456124')) {
	      #	do something
	 }

DESCRIPTION
   ALGORITHM
       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.

       3.  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.

       4.  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 checksum.

	   If the number solely	consists of digits, the	checksum is just
	   computed once according to algorithm	given above.

   METHODS
       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.

	   Return '' otherwise.

       checkdigit($number)
	   Returns the checkdigit of $number if	$number	has a valid check
	   digit.

	   Return '' otherwise.

   EXPORT
       None by default.

AUTHOR
       Mathias Weidner,	"<mamawe@cpan.org>"

THANKS
       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.

SEE ALSO
       perl, CheckDigits, www.pruefziffernberechnung.de,
       http://answers.google.com/answers/threadview/id/43619.html,
       http://www.brainjar.com/js/validation/

perl v5.32.1			  2021-03-01Algorithm::CheckDigits::MXX_001(3)

NAME | SYNOPSIS | DESCRIPTION | AUTHOR | THANKS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Algorithm::CheckDigits::MXX_001&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help