Я пытаюсь использовать модифицированный формат preg из preg_match: проверить формат дня рождения (дд/мм/гггг), чтобы он соответствовал датам истечения срока действия кредитной карты (форматы гггг-мм)
if (!preg_match('/([0-9]{4})\-([0-9]{2})/', $expirationDate, $matches)) {
throw new Services_Payment_Exception('Card expiration date is invalid');
}
. По какой-то причине это также проверить недопустимые значения, такие как 20111-02 (недопустимый год). Что я здесь делаю неправильно? Я хочу подтвердить, что год - 4 цифры, а месяц - 2 цифры (01, 02.. 12)