1 頁 (共 1 頁)

[PHP]身份證號的檢查

發表於 : 2008年 11月 27日, 12:45
tim
引用: http://61.63.33.170/Link/HLink.dll?lnd? ... 65742E7477_

代碼: 選擇全部

     
    <? 
    class CIDMaker // 宣告一個身份證字號檢查類別 
    { 
      var $id; 
      var $err; 
      var $idx = array( 1,1,1,1,1,1,1,1,3,1,1,2,2,2,3,2,2,2,2,2,2,2,3,3,3,3); 
      var $idy = array( 0,1,2,3,4,5,6,7,4,8,9,0,1,2,5,3,4,5,6,7,8,9,0,1,2,3); 
     
      function check($id_no) 
      { 
        $id_no = ucfirst($id_no); //首字母轉大寫 
        if(ereg("^[A-Z][0-9]{9}$", $id_no)) 
        { 
          for($i=0;$i<10;$i++) 
          { 
            $ch[$i] = substr($id_no,$i,1); 
          } 
          $i = 0; 
          for ($char="A";$char!=$ch[0];$char++) //英文字母轉數字 
          { 
            $i++; 
          } 
          // 導入檢查公式 BEGIN 
          $id = $this->idx[$i]+$this->idy[$i]*9+$ch[1]*8+$ch[2]*7+$ch [3]*6+$ch[4]*5+$ch[5]*4+$ch[6]*3+$ch[7]*2+$ch[8]*1+$ch [9]*1; 
          $id = (($id % 10) == 0) ? TRUE : FALSE; 
          // 導入檢查公式 END 
          return $id; 
        } 
        else 
        { 
          return 0; 
        } 
      } 
    } 
     
    $cidmaker = new CIDMaker; //引用 CIDMaker 類別 
    $result = $cidmaker->check($sid); 
    if($result == FALSE) 
    { 
      echo "<script>"; 
      echo "alert("請輸入正確的身分證字號");"; 
      echo "location.href = "registry2.php";"; 
      echo "</script>"; 
    } 
     
    ?>