diff --git a/Source/Formatter/CardExpirationDateFormatter.swift b/Source/Formatter/CardExpirationDateFormatter.swift index a94f5db..e3a2985 100755 --- a/Source/Formatter/CardExpirationDateFormatter.swift +++ b/Source/Formatter/CardExpirationDateFormatter.swift @@ -13,10 +13,10 @@ public struct CardExpirationDateFormatter: Formattable { let index = normalizedString.index(normalizedString.startIndex, offsetBy: idx) character = normalizedString[index] - formattedString.append(character) - if idx == 1 { + if idx == 2 { formattedString.append("/") } + formattedString.append(character) idx += 1 } diff --git a/Source/InputValidator/CardExpirationDateInputValidator.swift b/Source/InputValidator/CardExpirationDateInputValidator.swift index 099a1bd..4f58e04 100755 --- a/Source/InputValidator/CardExpirationDateInputValidator.swift +++ b/Source/InputValidator/CardExpirationDateInputValidator.swift @@ -46,10 +46,7 @@ public struct CardExpirationDateInputValidator: InputValidatable { let maximumMonth = 12 valid = (number > 0 && number <= maximumMonth) break - case 3: - valid = (replacementString == "/") - break - case 4, 5: + case 3, 4, 5: let year = Calendar.current.component(.year, from: Date()) let century = floor(Double(year) / 100.0) let basicYear = Double(year) - (century * 100.0)