|
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/ |
信用卡效验程序
|
|
<?php //////////////////////////////////////////////////// // // // Credit card validation routine // // May 15, 2000 // // By ariso // // validateCardCode($number[,$cardtype]) // //////////////////////////////////////////////////// function validateCardCode($cardnumber, $cardtype = 'unknown') { //Clean up input $cardtype = strtolower($cardtype); $cardnumber = ereg_replace( '[-[:space:]]', '',$cardnumber); //Do type specific checks if ($cardtype == 'unknown') { //Skip type specific checks } elseif ($cardtype == 'mastercard'){ if (strlen($cardnumber) != 16 || !ereg( '5[1-5]', $cardnumber)) return 0; } elseif ($cardtype == 'visa'){ if ((strlen($cardnumber) != 13 && strlen($cardnumber) != 16) || substr($cardnumber, 0, 1) != '4') return 0; } elseif ($cardtype == 'amex'){ if (strlen($cardnumber) != 15 || !ereg( '3[47]', $cardnumber)) return a; } elseif ($cardtype == 'discover'){ if (strlen($cardnumber) != 16 || substr($cardnumber, 0, 4) != '6011') return 0; } else { //invalid type entered return -1; } // Start MOD 10 checks $dig = toCharArray($cardnumber); $numdig = sizeof ($dig); $intIntJ = 0; for ($intI=($numdig-2); $intI>=0; $intI-=2){ $dbl[$intIntJ] = $dig[$intI] * 2; $intIntJ++; } $dblsz = sizeof($dbl); $validate =0; for ($intI=0;$intI<$dblsz;$intI++){ $add = toCharArray($dbl[$intI]); for ($intIntJ=0;$intIntJ<sizeof($add);$intIntJ++){ $validate += $add[$intIntJ]; } $add = ''; } for ($intI=($numdig-1); $intI>=0; $intI-=2){ $validate += $dig[$intI]; } if (substr($validate, -1, 1) == '0') return 1; else return 0; } // takes a string and returns an array of characters function toCharArray($intInput){ $len = strlen($intInput); for ($intIntJ=0;$intIntJ<$len;$intIntJ++){ $char[$intIntJ] = substr($intInput, $intIntJ, 1); } return ($char); } ?> 信用卡效验程序 |
[ 1 ] |
|
信用卡效验程序 num |
【打印本页
关闭】 |
|