בהמשך לרשימה הקודמת (סקריפט שמחשב ספרת ביקורת של מספר ת"ז) כתבתי סקריפט שבודק את החוקיות של מספר ת"ז.
הסקריפט מטפל במצבים החריגים הבאים:
- קבלת מספר המכיל יותר מ- 9 ספרות
- במקרה ובמספר פחות מ- 9 ספרות יתווספו "אפסים" מובילים עד להשלמה ל- 9 ספרות.
- מספר ת"ז משובש (מכיל תווים שאינם ספרות)
הורדה: כאן
אופן שימוש: python checkID.py 123456789
הערה: 123456789 הוא הת"ז הנבדק
תודה רבה!
את הפונקציה השל הבדיקה המרתי לPHP:
function check_israeli_ID($ID){
$newID = '';
if (strlen($ID) 0){
$newID=$newID.'0';
$missingDigits = $missingDigits - 1 ;
}
$newID = $newID . $ID;
}
else
$newID = $ID;
$theSum = 0;
$indexRange=array(0,2,4,6);
foreach($indexRange as $i){
$digit = $newID[$i];
$num= (int)$digit;
$theSum = $theSum + $num;
$num= (int)$newID[$i+1] * 2;
if ($num > 9) {
$num1 = $num / 10;
$num2 = $num % 10;
$num = $num1 + $num2;
}
$theSum = $theSum + $num;
}
$theSum = $theSum + (int)$newID[8];
$lastDigit = $theSum % 10;
if( $lastDigit 0)
echo "ID number: $newID is wrong";
else
echo "ID number: $newID is valid";
}
5 שורות לפני הסוף נפל סימן האי שוויון
כי זה כביכול תג HTML
תודה