| 
 <?php  
 ////////////////////////////////////////////////////
 //                                                //
 // Credit card validation routine                 //
 // May 15, 2000                                   //
 // By ariso                                       //   php程序员站
 // 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;
 phperz.com }
 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
 php程序员站 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]);
 php程序员之家 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++){   www.phperz.com
 $char[$intIntJ] = substr($intInput, $intIntJ, 1);
 }
 return ($char);
 }
 ?>
 www.phperz.com 
 |