您的位置:首页技术文章

信用卡效验程序

【字号: 日期:2023-11-05 10:26:27浏览:7作者:馨心
<?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);;;};;?>;;
标签: PHP