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



Credit Card Identification and Validation Class


 

Credit Card Identification and Validation Class - The credit_card class
provides methods for cleaning, validating and identifying the type of credit card numbers.
 
<?php 
 
class credit_card 
    function clean_no ($cc_no) 
    { 
        // Remove non-numeric characters from $cc_no   
        return ereg_replace ('[^0-9]+', '', $cc_no); 
    } 
 
    function identify ($cc_no) 
    { 
         $cc_no = credit_card::clean_no ($cc_no); 
 
        // Get card type based on prefix and length of card number   
        if (ereg ('^4(.{12}|.{15})$', $cc_no)) 
            return 'Visa';   
        if (ereg ('^5[1-5].{14}$', $cc_no)) 
            return 'Mastercard'; 
        if (ereg ('^3[47].{13}$', $cc_no)) 
            return 'American Express'; 
        if (ereg ('^3(0[0-5].{11}|[68].{12})$', $cc_no)) 
            return 'Diners Club/Carte Blanche'; 
        if (ereg ('^6011.{12}$', $cc_no)) 
            return 'Discover Card'; 
        if (ereg ('^(3.{15}|(2131|1800).{11})$', $cc_no)) 
            return 'JCB'; 
        if (ereg ('^2(014|149).{11})$', $cc_no)) 
            return 'enRoute'; 
 
        return 'unknown'; 
    } 
 
    function validate ($cc_no) 
    { 
        // Reverse and clean the number 
        $cc_no = strrev (credit_card::clean_no ($cc_no)); 
          
        // VALIDATION ALGORITHM 
        // Loop through the number one digit at a time 
        // Double the value of every second digit (starting from the right) 
        // Concatenate the new values with the unaffected digits 
        for ($ndx = 0; $ndx < strlen ($cc_no); ++$ndx) 
            $digits .= ($ndx % 2) ? $cc_no[$ndx] * 2 : $cc_no[$ndx]; 
          
        // Add all of the single digits together 
        for ($ndx = 0; $ndx < strlen ($digits); ++$ndx) 
            $sum += $digits[$ndx]; 
 
        // Valid card numbers will be transformed into a multiple of 10 
        return ($sum % 10) ? FALSE : TRUE; 
    } 
 
    function check ($cc_no) 
    { 
        $valid = credit_card::validate ($cc_no); 
        $type  = credit_card::identify ($cc_no); 
        return array ($valid, $type, 'valid' => $valid, 'type' => $type); 
    } 
 
?>
 
من خلال الاستمرار في استخدام هذا الموقع ، فإنك توافق على استخدام ملفات تعريف الارتباط لتخصيص المحتوى والإعلانات ، لتوفير وظائف وسائل التواصل الاجتماعي ، لتحليل حركة المرور لدينا باستخدام خدمات Google مثل Analytics و Adsense.

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