信用卡效验程序哦。
<?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($cardnumber01) !=  '4'

return 
0
    } 
    elseif (
$cardtype ==  'amex'){ 
        if (
strlen($cardnumber) != 15 || !ereg'3[47]'$cardnumber)) return a
    } 
    elseif (
$cardtype ==  'discover'){ 
        if (
strlen($cardnumber) != 16 || substr($cardnumber04) !=  '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, -11) ==  '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$intIntJ1);     
    } 
    return (
$char); 


?>