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