Providers typically use expiration dates that range from two to four years. A July 2012 "MSN Money" article noted that three years is the typical time frame. If a new card is issued in February 2014, it would expire in February 2017, for instance.
When Do Credit Cards Expire? Depending on the issuer, credit cards usually expire within three to five years. It is normally reflected on the front of the card in a MM/YY format. For example if a card lists 06/21 as the expiration date, that means the card can be used for the entire month of June 2021.
When Do Credit Cards Expire? Credit cards generally need to be replaced every three to five years, depending on the issuer. Capital One cards expire during the year noted on the card after the last day of the month listed. For example, if the date on a card says 11/25, it will probably expire on December 1, 2025.
There is no official guideline as the credit card issuers can choose each when the cards they issue will expire. In fact they have been issuing cards for longer and longer periods of time. If you're trying to determine how far out into the future you should accommodate expiration dates for, err on the safe side and give your customers many years to choose from. That way you future proof your application.
FYI, many credit card issuers do not use the expiration date when determining whether or not to approve a credit card purchase. So if you're worried about an incorrect date being provided the processor will ultimately have the final say on whether the transaction is approved or not so I wouldn't worry about it.
July 2017: Just had an end user with a card that expired almost 50 years from now.
I would either dynamically add +15-20 years to the current date's year OR provide a textbox input for the year (which personally I find faster to type the two digits in than to scroll through a list of years).
As a theoretical upper limit, I propose that you do not need to consider more than the expected lifespan of the cardholder. Wikipedia does this in their editorial standards for biographies of living persons:
Any individual born less than 115 years ago is covered by this policy unless a reliable source has confirmed the individual's death. People over 115 years old are presumed dead unless listed at oldest people.
So, in your code, look up the current year, add 115, and use that as your theoretical upper limit to the credit card expiration date. You'll never have to touch that code again.
Here's a sampling of the top US online retailers:
RETAILER WINDOW IN YEARS
Amazon 20
Walmart 10
Apple NA (TEXT FIELD)
Home Depot 19
Best Buy 10
Target NA (TEXT FIELD)
eBay NA (TEXT FIELD)
Google 19
Here is a Javascript code snippet you can use to display a customizable list of upcoming years for CC validation:
var yearsToShow = 20;
var thisYear = (new Date()).getFullYear();
for (var y = thisYear; y < thisYear + yearsToShow; y++) {
var yearOption = document.createElement("option");
yearOption.value = y;
yearOption.text = y;
document.getElementById("expYear").appendChild(yearOption);
}
<label for="expiration">Expiration Date</label>
<span id="expiration">
<select id="expMonth" name="expMonth">
<option disabled="true">Month</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
<select id="expYear" name="expYear">
</select>
</span>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With