網路城邦
上一篇 回創作列表 下一篇   字體:
PHP -- 簡易身分證驗證
2013/10/09 09:01:52瀏覽604|回應0|推薦2

<?

function ID_verify($ID)
{
$k=10;
    for($i=65;$i<=90;$i++)
    {
      if($i == 73)
      {
          $code[chr($i)]=34;
      }
      elseif($i == 79)
      {
          $code[chr($i)]=35;
      }
      else
      {
          $code[chr($i)]=$k;
          $k++;
      }
    }      
$k=10;
        for($i=97;$i<=122;$i++)
        {
              if($i == 105)
              {
                  $code[chr($i)]=34;
              }
              elseif($i == 111)
            {
                  $code[chr($i)]=35;
              }
            else
            {
                  $code[chr($i)]=$k;
                  $k++;
            }                  
        }    

    for ($i=1;$i<=8;$i++)//把要乘以的數做成陣列
    {
        $Xnum[$i]=10-$i;
    }
    
    for ($i=0;$i<=9;$i++)
    {        
        $Atmp="Atmp".$i;    
        if(!$i)//取出英文的數
        {
            $$Atmp=$code[substr($ID,$i,1)];
        }
        else
        {
            $$Atmp=substr($ID,$i,1);
        }        
    }
$k=1;
    for($i=0;$i<=9;$i++)
    {
        $Atmp="Atmp".$i;
        $Btmp=$$Atmp;
        if($i < 8)
        {
            if(strlen($Btmp)==2)//計算第一個英文拆出的數
            {
                $count=substr($Btmp,0,1)+(substr($Btmp,1,1)*$Xnum[$k]);
            }
            else //計算數字
            {
                $count=$count+($Btmp*$Xnum[$k]);
            }    
            $k=$k+1;
        }
        else
        {    
            $count=$count+$Btmp;                
        }                
    }    
    ($count%10 == 0) ? $ret=1 : $ret= 0;
return $ret;
}

?>
<form action="" method="POST" name="myform">

身分證驗證:<input name="ID" type="text" value="" size="8" maxlength="10">
<br>
<input type="submit" name="submit" value="驗證">
</form>
<?

if($ID)
{
        if($ret)
        {
            print "<hr>身分證合法!";
        }
        else
        {
            print "<hr>身分證不合法!";
        }
}
else
{
    print "<hr>請輸入要確認的身份證。";
}

?>

 

 

按此觀看範例

( 興趣嗜好電腦3C )
列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=takaprog&aid=8943237