信用卡效验程序
2015-01-24信息快讯网
////////////////////////////////////////////////////
// //
// 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-5.2下php.ini 中文版配置说明第1/3页
特详细的PHPMYADMIN简明安装教程
phpmyadmin的安装与使用图文教程第1/2页
php include的妙用,实现路径加密
php intval的测试代码发现问题
php sprintf()函数让你的sql操作更安全
php下intval()和(int)转换使用与区别
效率较高的php下读取文本文件的代码 原创
discuz Passport 通行证 整合笔记
PHP截取汉字乱码问题解决方法mb_substr函数的应用
关于Intype一些小问题的解决办法
Discuz! Passport 通行证整合
asp和php下textarea提交大量数据发生丢失的解决方法
PHP5.2下chunk_split()函数整数溢出漏洞 分析
用DBSQL类加快开发MySQL数据库程序的速度
简单的用PHP编写的导航条程序
用文本文件实现的动态实时发布新闻的程序
PHP4在Windows2000下的安装
如何在WIN2K下安装PHP4.04
基于mysql的bbs设计(五)
基于mysql的bbs设计(四)
基于mysql的bbs设计(一)
基于mysql的bbs设计(二)
基于mysql的bbs设计(三)
NT IIS下用ODBC连接数据库
PHP VS ASP
在Windows版的PHP中使用ADO
PHP的ASP防火墙
WIN98下Apache1.3.14+PHP4.0.4的安装
发挥语言的威力--融合PHP与ASP
用PHP连接Oracle for NT 远程数据库
透析PHP的配置文件php.ini
php的header和asp中的redirect比较
ASP知识讲座四
Content-type 的说明
新版百元变化更能防伪 收藏越稀缺越值钱