IsoCodes\CreditCard::validate PHP Method

validate() public static method

Credit Card validator.
public static validate ( string $creditCard ) : boolean
$creditCard string
return boolean
    public static function validate($creditCard)
    {
        if (trim($creditCard) === '') {
            return false;
        }
        if (!boolval(preg_match('/.*[1-9].*/', $creditCard))) {
            return false;
        }
        //longueur de la chaine $creditCard
        $length = strlen($creditCard);
        //resultat de l'addition de tous les chiffres
        $tot = 0;
        for ($i = $length - 1; $i >= 0; --$i) {
            $digit = substr($creditCard, $i, 1);
            if (($length - $i) % 2 == 0) {
                $digit = $digit * 2;
                if ($digit > 9) {
                    $digit = $digit - 9;
                }
            }
            $tot += (int) $digit;
        }
        return $tot % 10 == 0;
    }

Usage Example

Beispiel #1
0
 /**
  * testInvalidCreditCard
  *
  * @param mixed $creditCard
  *
  * @dataProvider getInvalidCreditCards
  *
  * @return void
  */
 public function testInvalidCreditCard($creditCard)
 {
     $this->assertFalse(CreditCard::validate($creditCard));
 }
CreditCard