ISN (services de réseaux sociaux internationaux - applications interactives et sites web dynamiques)



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); 
 
?>
En utilisant ce site, vous acceptez l'utilisation de cookies pour personnaliser le contenu et les publicités, pour fournir des fonctionnalités de médias sociaux, pour analyser notre trafic en utilisant les services Google comme Analytics et Adsense.

Google Adsense et ses partenaires peuvent utiliser vos données pour la personnalisation de la publicité et les cookies peuvent être utilisés pour la publicité personnalisée et non personnalisée. Comment Google utilise mes données?
Veuillez utiliser le bouton suivant pour voir la liste des partenaires de Google ainsi que tous les détails concernant les cookies.
Voir les détailsJ'accepte
Ces cookies étant obligatoires pour le fonctionnement de isn-services.com, si vous ne les acceptez pas nous vous prions de quitter ce site
Vous avez le droit de refuser les cookies et quitter le site ou de les paramétrer.