php检测Israeli ID (9 digits)是否有效
<? // takes a string and returns an array of characters function toCharArray($input){ $len = strlen($input); for ($j=0;$j<$len;$j++){ $char[$j] = substr($input, $j, 1); } return ($char); } function validateID($ID){ //Clean spaces $ID = ereg_replace('[-[:space:]]', '',$ID); //Grab the test digit $Bikoret=substr($ID,8,1); //Take only 8 left digits of the Id. $ID = substr($ID,0,strlen($ID)-1); $dig = toCharArray($ID); $numdig = sizeof($dig); $j = 0; for($i=($numdig-1) ; $i>=0 ; $i-=2){ $dbl[$j] = $dig[$i] * 2; $j++; } $dblsz = sizeof($dbl); $validate = 0; //Sum all the 2x for($i=0 ; $i<$dblsz ; $i++){ $add = toCharArray($dbl[$i]); for($j=0 ; $j<sizeof($add) ; $j++){ $validate += $add[$j]; } $add = ''; } //Sum all the 1x for ($i=($numdig-2); $i>=0; $i-=2){ $validate += $dig[$i]; } If($validate % 10 != 0) { $Bikoret1=(substr($validate, 0, 1) + 1) * 10; } Else { $Bikoret1=$validate; } If($Bikoret1 - $validate == $Bikoret) return 1; else return 0; } ?>