Algorithm-CheckDigits
view release on metacpan or search on metacpan
lib/Algorithm/CheckDigits/M11_015.pm view on Meta::CPAN
=head1 NAME
CheckDigits::M11_015 - compute check digits for ESR5 (CH)
=head1 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';
=head1 DESCRIPTION
=head2 ALGORITHM
=over 4
=item 1
Beginning right all digits are weighted with the repeating
t/esr5_ch.t view on Meta::CPAN
use Test;
BEGIN {
plan(tests => 2);
};
use Algorithm::CheckDigits;
my $esr5 = CheckDigits('esr5_ch');
#
my $number = '0001000012000 241170032660178 10304';
ok($esr5->is_valid('05' . $number));
ok('05' . $number eq $esr5->complete($number));
use Test;
BEGIN {
plan(tests => 11);
};
use Algorithm::CheckDigits;
my $nip = CheckDigits('nip');
#
my $number = '768000246';
ok(not $nip->is_valid($number . '0'));
ok(not $nip->is_valid($number . '1'));
ok(not $nip->is_valid($number . '2'));
ok(not $nip->is_valid($number . '3'));
ok(not $nip->is_valid($number . '4'));
ok(not $nip->is_valid($number . '5'));
ok($nip->is_valid($number . '6'));
ok(not $nip->is_valid($number . '7'));
ok(not $nip->is_valid($number . '8'));
ok(not $nip->is_valid($number . '9'));
t/valid.data view on Meta::CPAN
[ 'sedol', 'B0YBLH2', 'B0YBLH', '2',
'B0YBLH3' ],
# M013
[ 'postcheckkonti', '85-12345678-7', '85-12345678-', '7',
'85-12345678-9' ],
# M014
[ 'isbn', '3-88229-192-3', '3-88229-192-', '3',
'3-88229-192-0' ],
[ 'issn', '0724-8679', '0724-867', '9',
'0724-8870' ],
[ 'ustid_pt', '136695973', '13669597', '3',
'136695970' ],
[ 'vatrn_pt', '136695973', '13669597', '3',
'136695970' ],
[ 'hkid', 'K1234560', 'K123456', '0',
'K1234567' ],
[ 'wagonnr_br', '123456-1', '123456-', '1',
'123456-7' ],
[ 'nhs_gb', '3882291850', '388229185', '0',
'3882291851' ],
[ 'vat_sl', '59082437', '5908243', '7',
'59082432' ],
# M015
[ 'pzn', '4877800', '487780', '0',
'4877801' ],
# MBase-002
[ 'blutbeutel', '2761011234567893', '276101123456789', '3',
'2761011234567890' ],
[ 'blutbeutel', '02', '0', '2', '01' ],
[ 'blutbeutel', '19', '1', '9', '10' ],
t/valid.data view on Meta::CPAN
[ 'blutbeutel', '08235', '0823', '5',
'08234' ],
[ 'blutbeutel', '2766169732125615', '276616973212561', '5',
'2766169732125610' ],
[ 'bzue_de', '9433463951409', '943346395140', '9',
'9433463951400' ],
[ 'ustid_de', '136 695 976', '136 695 97', '6',
'136 695 970' ],
# MBase-003
[ 'sici', '0724-8679(20040308)6:<138>2.0.TX;2-H',
'0724-8679(20040308)6:<138>2.0.TX;2-', 'H',
'0724-8679(20040308)6:<138>2.0.TX;2-A',
],
# I don't know what for this method is.
# M07-001
#[ 'm07-001', '0', '', '0',
# '1' ],
#[ 'm07-001', '1234567892', '123456789', '2',
# '1234567890' ],
# M09-001
t/valid.data view on Meta::CPAN
# M11-012
[ 'bwpk_de', '151058-D-20711', '151058-D-2071', '1',
'151058-D-20712' ],
# M11-013
[ 'ustid_gr', '123456783', '12345678','3',
'123456789' ],
# M11-015
[ 'esr5_ch', '050001000012000 241170032660178 10304',
'0001000012000 241170032660178 10304', '05',
'060001000012000 241170032660178 10304' ],
# M11-017
[ 'ecno', '200-235-0', '200-235-', '0', '200-235-1' ],
# M16-001
[ 'isan', '123A567B8912E01A', '123A567B8912E01', 'A',
'123A567B8912E01B' ],
# M23-001
[ 'dni_es', '54362315-K', '54362315-', 'K',
( run in 0.508 second using v1.01-cache-2.11-cpan-7add2cbd662 )