בניתי בשבילכם כמה פונקציות,
אחד בדיקת הספרת ביקורת של הת.ז, והשני בדיקה האם הת.ז אכן תקינה.
(השלישית סתם עשיתי זה גנרטור של ת.ז חוקית רנדומאלית)..
כידוע הספרת ביקורת היא כמה תהליכים פשוטים במתמטיקה, אך היא יודעת לזהות טעות בהקשות קוד אפילו אם המשתמש שכח תו או העביר תו בתו אחר...
PHP קוד:
<?php
/**
* Build By: iniKey.com.
* Developed by: Roy.
*/
$new = rand(10000000,99999999);
echo "<h1>Check Digit for '04722172'</h1><br />".CheckDigit("04722172");
echo "<h1>Valid if ID is right by Digit ('047221726')</h1><br />".ValidID("047221726");
echo "<h1>Generation a new ID</h1>".$new.CheckDigit("{$new}");
function ValidID($id) {
if(strlen($id) == 9 && CheckDigit(substr($id, 0, 8)) == $id[8])
return TRUE;
else
return FALSE;
}
function CheckDigit($id) {
for($i = 0; $i < strlen($id); $i++)
if($i % 2 != 0)
$Sum .= $id[$i] * 2;
else
$Sum .= $id[$i];
for($i = 0; $i <= strlen($Sum)-1; $i++)
$Digit = $Digit + $Sum[$i];
return ( $Digit % 10 > 0 ? 10 - ($Digit % 10) : 0);
}
?>