广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    信用卡效验程序

    2018-09-29 11:23:07 次阅读 稿源:互联网
    零七广告
    <?php  

    ////////////////////////////////////////////////////  
    //                                                //   
    // 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);  
    }  

    ?>  

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告