PHP 验证信用卡号码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 验证信用卡号码相关的知识,希望对你有一定的参考价值。
function fnValidateCc($mValue, $sCard = '')
{
if ($sCard == 'visa')
{
$sPattern = '/^4([0-9]{12}|[0-9]{15})$/';
}
else if ($sCard == 'amex')
{
$sPattern = '/^3[4|7][0-9]{13}$/';
}
else if ($sCard == 'mastercard')
{
$sPattern = '/^5[1-5][0-9]{14}$/';
}
else if ($sCard == 'discover')
{
$sPattern = '/^6011[0-9]{12}$/';
}
else if ($sCard == 'dinners')
{
$sPattern = '/^[30|36|38]{2}[0-9]{12}$/';
}
else if (empty($sCard))
{
$sPattern = '/^[0-9]{13,19}$/';
}
else
{
return false;
}
if (preg_match($sPattern, $mValue))
{
// Modulo 10
$iSum = 0;
$iWeight = 2;
$iLength = strlen($mValue);
for ($i = $iLength - 2; $i >= 0; $i--)
{
$iDigit = $iWeight * $mValue[$i];
$iSum += floor($iDigit / 10) + $iDigit % 10;
$iWeight = $iWeight % 2 + 1;
}
if ((10 - $iSum % 10) % 10 == $mValue[$iLength - 1])
{
return true;
}
}
return false;
}
以上是关于PHP 验证信用卡号码的主要内容,如果未能解决你的问题,请参考以下文章
ruby 练习:阶级战,验证信用卡号码如果信用卡号码我们应该能够验证它是否有效基于
验证信用卡信息 - CVV 号码
js正则表单验证汇总,邮箱验证,日期验证,电话号码验证,url验证,信用卡验证,qq验证
42是有效的信用卡号码吗? jQuery 验证器认为它是
NumberValidators工商营业执照号码和统一社会信用代码验证
信用卡类型和验证