REGON

7 digit REGON

First six digits have weights:
weights:  2  3  4  5  6  7
digits:  d1 d2 d3 d4 d5 d6
Here is algorithm for finding d7:
sum = 2*d1+3*d2+4*d3+5*d4+6*d5+7*d6
d7 = sum mod 11

9 digit REGON

First eight digits have weights:
weights:  8  9  2  3  4  5  6  7 
digits:  d1 d2 d3 d4 d5 d6 d7 d8
Here is algorithm for finding d9:
sum = 8*d1+9*d2+2*d3+3*d4+4*d5+5*d6+6*d7+7*d8
d9 = sum mod 11



Enter REGON code (only digits):


PHP code:
$number = strlen($reg);
if(!(($number==9)||($number==7))) {
print "Incorrect REGON!<BR>";
return 1;
}
if(==7) {
for($i = 0; $i<7; $i++)
{
if(!($reg[$i]>='0' && $reg[$i]<='9')) {
print "Incorrect REGON7! (DIGIT)<BR>"
return 1;
}
$arr[$i] = $reg[$i]-'0';
}
$sum = $arr[0]*2+$arr[1]*3+$arr[2]*4+$arr[3]*5+$arr[4]*6+$arr[5]*7;
$sum %= 11;
if($sum!=$arr[6]) {
print "Incorrect REGON7 (code)!<BR>";
return 1;
}
print "CORRECT!<BR>7 digit REGON code is: $reg<br>";
} else {
for($i = 0; $i<9; $i++)
{
if(!($reg[$i]>='0' && $reg[$i]<='9')) {
print "Incorrect REGON9! (DIGIT)<BR>";
return 1;
}
$arr[$i] = $reg[$i]-'0';
}
$sum = $arr[0]*8+$arr[1]*9+$arr[2]*2+$arr[3]*3+$arr[4]*4+$arr[5]*5+$arr[6]*6+$arr[7]*7;
$sum %= 11;
if($sum!=$arr[8]) {
print "Incorrect REGON9 (code)!<BR>";
return 1;
}
print "CORRECT!<BR>9 digit REGON code is: $reg<br>";
}


Back to main page