程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 信用卡效驗程序哦

信用卡效驗程序哦

編輯:關於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$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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved