This article mainly introduces the example of php implementation of the credit card check bit algorithm THELUHNMOD-10, friends can refer to the next
This article describes how to implement the luhn mod-10 Algorithm for credit card verification in php. For more information, see
According to The Luhn Mod-10 Method of The payment card check bit algorithm in ISO 2894:
1. Multiply each digit on the card number by the weight. The rule is that if the number of card numbers is an even number, the first digit is multiplied by 2; otherwise, the number is multiplied by 1, and then the numbers are, 1, 2, 1, 2;
2. If each digit is multiplied by 9 after the weight, 9 is subtracted;
3. sum all processed weighted numbers and calculate the modulus using number 10;
4. The remainder must be 0. Otherwise, the input may be incorrect. It may also be a fake number.
With the simple implementation of PHP, front-end verification is better in actual scenarios, such as JS.
The Code is as follows:
Function check_card ($ card ){
If (! Is_numeric ($ card) return False;
$ Card_len = strlen ($ card );
$ I = 0;
$ Num_ I = array ();
Do {
If (! $ I ){
$ Num_x = $ card_len % 2? 1: 2;
} Else {
$ Num_x = 1? 2: 1;
}
$ Num_ I [$ I] = (int) $ card [$ I] * $ num_x;
$ Num_ I [$ I] = $ num_ I [$ I]> 9? $ Num_ I [$ I]-9: $ num_ I [$ I];
} While (isset ($ card [++ $ I]);
$ Num_sum = array_sum ($ num_ I );
Return $ num_sum % 10? False: True;
}