PHP验证信用卡卡号是否正确函数

时间:2021-07-22 15:15:14

可以使用以下PHP函数,验证一个卡号是否是信用卡:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function validateCard ( $cardnumber )
{
   $cardnumber = preg_replace ( " /\D|\s/ " , "" , $cardnumber ) ; # strip any non-digits
   $cardlength = strlen ( $cardnumber ) ;
   if ( $cardlength != 0 )
   {
     $parity = $cardlength % 2 ;
     $sum = 0 ;
     for ( $i = 0 ; $i < $cardlength ; $i ++ )
     {
       $digit = $cardnumber [ $i ] ;
       if ( $i % 2 == $parity ) $digit = $digit * 2 ;
         if ( $digit > 9 ) $digit = $digit - 9 ;
           $sum = $sum + $digit ;
     }
     $valid = ( $sum % 10 == 0 ) ;
     return $valid ;
   }
   return false ;
}