php 检测Israeli ID (9 digits)是否有效的简单示例

前端之家收集整理的这篇文章主要介绍了php 检测Israeli ID (9 digits)是否有效的简单示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了 PHP检测Israeli ID (9 digits)是否有效,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 * 检测Israeli ID (9 digits)是否有效
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
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,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,1) + 1) * 10; 
        } 
        Else { 
                $Bikoret1=$validate; 
        } 
        If($Bikoret1 - $validate == $Bikoret) return 1; 
        else return 0; 
}                


/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/

猜你在找的PHP相关文章