الشركة الأفضل لبرمجة المواقع والتطبيقات و عرض أفضل سرفيرس في العالم العربي



Credit Card validation routine. Uses MOD 10.


 

Credit Card validation routine. Uses MOD 10 to check if credit card
number is valid.
 
<?php 
 
// validateCC($number[,$type])   // 
// Uses the MOD 10 algorythm to determine if a    // 
// credit card number is valid.     // 
 
// $number = credit card account number           // 
// $type is optional.  Setting type to    // 
// visa, mastercard, discover, or amex will       // 
// perform additional checking on the account     // 
// number.     // 
 
// The function returns 1 (true) if the CC is     // 
// valid, 0 (false) if it is invalid, and -1 if   // 
// the type entered does not match the supported  // 
// types listed above.      // 
 
 
function validateCC($ccnum, $type = 'unknown'){ 
 
 
    //Clean up input 
 
    $type = strtolower($type); 
    $ccnum = ereg_replace('[-[:space:]]', '',$ccnum); 
 
 
    //Do type specific checks 
 
    if ($type == 'unknown') { 
 
        //Skip type specific checks 
 
    } 
    elseif ($type == 'mastercard'){ 
        if (strlen($ccnum) != 16 || !ereg('5[1-5]', $ccnum)) return 0; 
    } 
    elseif ($type == 'visa'){ 
        if ((strlen($ccnum) != 13 && strlen($ccnum) != 16) || substr 
($ccnum, 0, 1) != '4') return 0; 
    } 
    elseif ($type == 'amex'){ 
        if (strlen($ccnum) != 15 || !ereg('3[47]', $ccnum)) return a; 
    } 
    elseif ($type == 'discover'){ 
        if (strlen($ccnum) != 16 || substr($ccnum, 0, 4) != '6011') 
return 0; 
    } 
    else { 
        //invalid type entered 
        return -1; 
    } 
 
 
    // Start MOD 10 checks 
 
    $dig = toCharArray($ccnum); 
    $numdig = sizeof ($dig); 
    $j = 0; 
    for ($i=($numdig-2); $i>=0; $i-=2){ 
        $dbl[$j] = $dig[$i] * 2; 
        $j++; 
    }     
    $dblsz = sizeof($dbl); 
    $validate =0; 
    for ($i=0;$i<$dblsz;$i++){ 
        $add = toCharArray($dbl[$i]); 
        for ($j=0;$j<sizeof($add);$j++){ 
            $validate += $add[$j]; 
        } 
    $add = ''; 
    } 
    for ($i=($numdig-1); $i>=0; $i-=2){ 
        $validate += $dig[$i]; 
    } 
    if (substr($validate, -1, 1) == '0') return 1; 
    else return 0; 
 
 
// takes a string and returns an array of characters 
 
function toCharArray($input){ 
    $len = strlen($input); 
    for ($j=0;$j<$len;$j++){ 
        $char[$j] = substr($input, $j, 1);     
    } 
    return ($char); 
 
?>
من خلال الاستمرار في استخدام هذا الموقع ، فإنك توافق على استخدام ملفات تعريف الارتباط لتخصيص المحتوى والإعلانات ، لتوفير وظائف وسائل التواصل الاجتماعي ، لتحليل حركة المرور لدينا باستخدام خدمات Google مثل Analytics و Adsense.

قد تستخدم Google Adsense وشركاؤها بياناتك لتخصيص الإعلانات ويمكن استخدام ملفات تعريف الارتباط للإعلانات المخصصة وغير المخصصة.
الرجاء استخدام الزر التالي للاطلاع على قائمة شركاء Google بالإضافة إلى جميع التفاصيل المتعلقة بملفات تعريف الارتباط.
مزيد من التفاصيلأنا أقبل
ملفات تعريف الارتباط هذه إلزامية لتشغيل isn-services.com ، إذا كنت لا تقبلها ، يرجى الخروج من هذا الموقع
لديك الحق في رفض ملفات تعريف الارتباط وترك الموقع أو تغيير البيانات.