Isikukood: erinevus redaktsioonide vahel
Eemaldatud sisu Lisatud sisu
PResümee puudub |
|||
88. rida:
|-
|
<syntaxhighlight lang="php">
function validateCode($code){
$is = substr($code, strlen($code) - 1, 1);
$shouldBe = 0;
// esimese astme skaala
for($i = 1; $i < 11; $i++){
$shouldBe += ($i % 10 + intval($i / 10)) * substr($code, $i - 1, 1); }
$shouldBe = $shouldBe % 11;
// teise astme skaala kui $shouldBe on võrdne 10ga
if($shouldBe == 10){
$shouldBe = 0;
for($i = 3; $i < 13; $i++){
$shouldBe += ($i % 10 + intval($i / 10)) * substr($code, $i - 3, 1);
}
$shouldBe = $shouldBe % 11;
// kui jääk on 10 siis muuda $shouldBe 0'ks
if($shouldBe == 10){$shouldBe = 0;}
}
if($is == $shouldBe){return true;}
return false;
}
</syntaxhighlight>
|}
121. rida ⟶ 123. rida:
|-
|
<syntaxhighlight lang="php">
function validatePersonalCode($code)
{
if(strlen($code) != 11 || !is_numeric($code)) return false;
$subcode = substr($code, 0, -1);
for ( $k = 1; $k <= 3; $k += 2 )
{
$s = 0;
for ( $i = 0; $i < 10; ++$i )
{
$s += $k * $subcode{$i};
$k = ( 9 == $k ? 1 : $k + 1 );
}
if ( ( $s %= 11 ) < 10 )
{
break;
}
}
if (substr($code, -1) != $s)
{
return false;
}
return true;
}
</syntaxhighlight>
|}
|