Skip to content

Instantly share code, notes, and snippets.

@mahdyar
Created May 9, 2022 17:02
Show Gist options
  • Select an option

  • Save mahdyar/7b37fbd6618ad0bb5872d0fe7795f63e to your computer and use it in GitHub Desktop.

Select an option

Save mahdyar/7b37fbd6618ad0bb5872d0fe7795f63e to your computer and use it in GitHub Desktop.

Revisions

  1. mahdyar created this gist May 9, 2022.
    21 changes: 21 additions & 0 deletions creditcardverification.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,21 @@
    <?php

    function validateCardNumber($cardNumber)
    {
    if (empty($cardNumber) || strlen($cardNumber) !== 16) {
    return false;
    }
    $cardToArr = str_split($cardNumber);
    $cardTotal = 0;
    for ($i = 0; $i < 16; $i++) {
    $c = (int)$cardToArr[$i];
    if ($i % 2 === 0) {
    $cardTotal += (($c * 2 > 9) ? ($c * 2) - 9 : ($c * 2));
    } else {
    $cardTotal += $c;
    }
    }
    return ($cardTotal % 10 === 0);
    }

    // More to read: http://www.aliarash.com/article/creditcart/credit-debit-cart.htm