本文共 1992 字,大约阅读时间需要 6 分钟。
信用卡效验程序
更新时间:2006年10月09日 00:00:00 作者:
// //
// 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
$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
$char[$intIntJ] = substr($intInput, $intIntJ, 1);
}
return ($char);
}
?>
相关文章
PHP新手上路(十)...2006-10-10
怎样在UNIX系统下安装MySQL...2006-10-10
定制404错误页面,并发信给管理员的程序...2006-10-10
转换中文日期的PHP程序...2006-10-10
这篇文章主要介绍了PHP mysql_result()函数使用方法,需要的朋友可以参考下2017-11-11
PHP的目录、文件操作是很简单的,本章用的是windows的服务器,目录名为GBK编码,文件内容为UTF-8编码。这样一目了然。2010-11-11
PHP4实际应用经验篇(6)...2006-10-10
PHP新手上路(三)...2006-10-10
第七节--类的静态成员...2006-11-11
在IIS上安装PHP4.0正式版...2006-10-10
最新评论
转载地址:http://azrav.baihongyu.com/