可以使用以下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 ;
}
|