diff --git a/CreditCardValidator.php b/CreditCardValidator.php index 4097998..3ce7965 100644 --- a/CreditCardValidator.php +++ b/CreditCardValidator.php @@ -118,9 +118,37 @@ public function validateDate($creditCardExpiredMonth, $creditCardExpiredYear) return is_integer($creditCardExpiredMonth) && $creditCardExpiredMonth >= 1 && $creditCardExpiredMonth <= 12 && - is_integer($creditCardExpiredYear) && ($creditCardExpiredYear > $currentYear || ($creditCardExpiredYear==$currentYear && $creditCardExpiredMonth>$currentMonth) ) && $creditCardExpiredYear < $currentYear + 10 + is_integer($creditCardExpiredYear) && ($creditCardExpiredYear > $currentYear || ($creditCardExpiredYear==$currentYear && $creditCardExpiredMonth>=$currentMonth) ) && $creditCardExpiredYear < $currentYear + 10 ; } + + /** + * Validates the Credit Card expiration date + * @param $creditCardExpiredMonth + * @param $creditCardExpiredYear + * @return bool + */ + public static function validateExpirationDate($creditCardExpiredMonth, $creditCardExpiredYear) + { + $currentMonth = intval(date('n')); + $currentYear = intval(date('Y')); + if (is_scalar($creditCardExpiredMonth)) { + $creditCardExpiredMonth = intval($creditCardExpiredMonth); + } + if (is_scalar($creditCardExpiredYear)) { + $creditCardExpiredYear = intval($creditCardExpiredYear); + } + return + is_integer($creditCardExpiredMonth) && + $creditCardExpiredMonth >= 1 && + $creditCardExpiredMonth <= 12 && + is_integer($creditCardExpiredYear) && + ( + $creditCardExpiredYear > $currentYear || ( + $creditCardExpiredYear == $currentYear && $creditCardExpiredMonth >= $currentMonth) + ) && + $creditCardExpiredYear < $currentYear + 10; + } /** * Validates Credit Card holder