PHP 检测信用卡号码
现在网上购物越来越普及,所以对信用卡号码的检测也变得越来越重要,要检测信用卡号码,一般可以用 LUHN 算法来实现。
现在大部分的主要信用卡也是用 LUHN 算法来实现, 包括 Visa, Master Card, American Express 以及 Discover 等。
LUHN 算法只可以检测信用卡号码的合法性,而不会检测信用卡的其他信息,包括是否过期。
使用方法为:
1. 检测信用卡号码是否为 16 位
2. 将信用卡号码串切割成 16 个数字
3. 将切割的数字由左至右起,每逢单数位置的数字乘以 2,如果结果大于 10,将结果减 9
4. 将所有乘以 2 位置的数字的结果(包括大于 10,将结果减 9的)相加得到一个新数值
5. 将上面求得的数值求出 10 的余数,如果余数是 0 表示信用卡号码正确,否则便是错误。
Code
现在大部分的主要信用卡也是用 LUHN 算法来实现, 包括 Visa, Master Card, American Express 以及 Discover 等。
LUHN 算法只可以检测信用卡号码的合法性,而不会检测信用卡的其他信息,包括是否过期。
使用方法为:
1. 检测信用卡号码是否为 16 位
2. 将信用卡号码串切割成 16 个数字
3. 将切割的数字由左至右起,每逢单数位置的数字乘以 2,如果结果大于 10,将结果减 9
4. 将所有乘以 2 位置的数字的结果(包括大于 10,将结果减 9的)相加得到一个新数值
5. 将上面求得的数值求出 10 的余数,如果余数是 0 表示信用卡号码正确,否则便是错误。
代码如下:
