我想开始开发我自己的支付系统,我想尽可能多地学习这个,所以首先我开始使用信用卡验证算法mod 10
<?php
$array = $_POST['array']; //array holding numbers
$array = array_reverse($array); // reversing the array
echo "<br> Credit card Before :- ";
for($i=0;$i<sizeof($array);$i++)
echo $array[$i];
echo "<br>";
echo "<br> Credit card after applaying mod 10 Algorthim :- ";
//start converting the number
for($i=0;$i<sizeof($array);$i++){
if($i%2==1){
$array[$i] = $array[$i]+$array[$i];
if($array[$i]> 9 ){
$str = "$array[$i]";
$num = $str[0]+$str[1];
$array[$i] = $num;
}
}
//suming all the resulted number
$total +=$array[$i];
if($i%2==1)
echo "<b>".$array[$i]."</b>";
else
echo $array[$i];
}
echo "<br>";
if($total % 10 ==0){
echo "This creidet card is valid";
}else{
echo "This creidet card is not valid";
}
?>
答案 0 :(得分:0)
我建议您使用 正则表达式 ... 您可以查看我的存储库我有一个代码片段来验证Visa,万事达卡,发现,美国快递和安全代码
<强> https://github.com/leojavier/RegexCollection 强>
请记住......仅仅因为限制数字量并不意味着它是正确的。
例如:
- 所有Visa卡号码均以4开头。新卡有16位数字
- 所有万事达卡号码均以数字51至55开头。所有号码均为16位数字。
等等...
index.html是一个示例,向您展示如何使用它!如果您有任何问题,请随时给我写信:)