好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

信用卡效验程序-PHP实例

<?php   ////////////////////////////////////////////////////   //                                                //    // Credit card validation routine                 //   // May 15, 2000                                   //   // By ariso                                       //   // validateCardCode($number[,$cardtype])          //   ////////////////////////////////////////////////////   function validateCardCode($cardnumber, $cardtype =  'unknown') {        //Clean up input       $cardtype = strtolower($cardtype);       $cardnumber = ereg_replace( '[-[:space:]]',  '',$cardnumber);         //Do type specific checks       if ($cardtype ==  'unknown') {            //Skip type specific checks       }       elseif ($cardtype ==  'mastercard'){           if (strlen($cardnumber) != 16 || !ereg( '5[1-5]', $cardnumber)) return 0;       }       elseif ($cardtype ==  'visa'){           if ((strlen($cardnumber) != 13 && strlen($cardnumber) != 16) || substr($cardnumber, 0, 1) !=  '4')   return 0;       }       elseif ($cardtype ==  'amex'){           if (strlen($cardnumber) != 15 || !ereg( '3[47]', $cardnumber)) return a;       }       elseif ($cardtype ==  'discover'){           if (strlen($cardnumber) != 16 || substr($cardnumber, 0, 4) !=  '6011') return 0;       }       else {            //invalid type entered           return -1;       }        // Start MOD 10 checks       $dig = toCharArray($cardnumber);       $numdig = sizeof ($dig);       $intIntJ = 0;       for ($intI=($numdig-2); $intI>=0; $intI-=2){           $dbl[$intIntJ] = $dig[$intI] * 2;           $intIntJ++;       }           $dblsz = sizeof($dbl);       $validate =0;       for ($intI=0;$intI<$dblsz;$intI++){           $add = toCharArray($dbl[$intI]);           for ($intIntJ=0;$intIntJ<sizeof($add);$intIntJ++){               $validate += $add[$intIntJ];           }       $add =  '';       }       for ($intI=($numdig-1); $intI>=0; $intI-=2){           $validate += $dig[$intI];        }       if (substr($validate, -1, 1) ==  '0') return 1;       else return 0;   }   // takes a string and returns an array of characters   function toCharArray($intInput){       $len = strlen($intInput);       for ($intIntJ=0;$intIntJ<$len;$intIntJ++){           $char[$intIntJ] = substr($intInput, $intIntJ, 1);           }       return ($char);   }   ?>  

查看更多关于信用卡效验程序-PHP实例的详细内容...

  阅读:47次