Различные онлайн-сервисы имеют разные значения максимального срока годности, когда речь идет о кредитных картах.
Например:
- Basecamp: +15 лет (2025)
- Амазонка: +20 лет (2030)
- Paypal: +19 лет (2029)
Какой здесь разумный максимум? Есть ли официальные рекомендации?
date
max
credit-card
billing
Искусство
источник
источник
Ответы:
Официального руководства не существует, поскольку эмитенты кредитных карт могут выбрать каждый из них по истечении срока действия выдаваемых ими карт. На самом деле они выпускали карты на все более длительные периоды времени. Если вы пытаетесь определить, как далеко в будущем вы должны учитывать сроки годности, допустите ошибку и дайте своим клиентам много лет на выбор. Таким образом, вы подтвердите свое будущее.
К вашему сведению, многие эмитенты кредитных карт не используют дату истечения срока действия при определении, следует ли одобрить покупку кредитной карты. Поэтому, если вы беспокоитесь о том, что указана неправильная дата, обработчик в конечном итоге получит окончательное решение о том, одобрена ли транзакция или нет, поэтому я не стал бы беспокоиться об этом.
Июль 2017 : у конечного пользователя только одна карта, срок действия которой истек почти через 50 лет.
источник
Я бы либо динамически добавил + 15-20 лет к году текущей даты, либо предоставил бы текстовое поле для ввода года (что, лично я считаю, быстрее ввести две цифры, чем прокручивать список лет).
источник
В качестве теоретического верхнего предела я предлагаю вам не рассматривать больше, чем ожидаемый срок службы держателя карты. Википедия делает это в своих редакционных стандартах для биографий живых людей :
Итак, в своем коде найдите текущий год, добавьте 115 и используйте его в качестве теоретического верхнего предела к дате истечения срока действия кредитной карты. Вам никогда не придется больше трогать этот код.
источник
max
что на случай, если самый старый человек использовал форму, когда им исполнилось 116 ...: [Вот фрагмент кода Javascript, который можно использовать для отображения настраиваемого списка предстоящих лет для проверки CC:
источник
Вот выборка лучших американских интернет-магазинов:
источник
Хороший звонок, @Alistair.
Вот поколение месяца и года в ASP.NET MVC. Добавьте это к вашей модели представления:
И это на ваш взгляд:
источник
Хотя второй пример выполняется в два раза быстрее первого, вы все равно получаете дату и извлекаете год из нее 20, а не 40 раз. Лучшее развертывание цикла:
Это будет примерно в 20 раз быстрее, чем в два раза быстрее, а также устраняет небольшую ошибку в исходном коде, заключающуюся в том, что год может измениться от одной выборки даты к следующей, что приведет к неожиданным, хотя и в этом случае безвредным результатам.
источник
источник
Если вам нужно решение, которое не дает трехзначных лет 2100+, вы должны модулировать дату, соответственно, вы должны заполнить начальным нулем для xx00-xx09 лет, чтобы не получить однозначные годы.
Это будет очень важно, начиная с 2080 года.
источник
Прочитав верхний срок действия OP для Amazon на 20 лет, я написал это простое решение на PHP:
Это значительно сократило количество этих новогодних запросов на удаление
last year
из формы.Более простая версия цикла выполняется в два раза быстрее:
источник
date('Y')
и вdate('y')
20 раз каждый довольно медленно?источник