我嘗試了幾個不同的排列。它似乎對我來說工作正常,但有一個例外:年份需要全部4位數字(即14
未被識別爲2014
)。
以下所有測試都js.stripe.com/v2
測試整數變量進行
console.log("(00, 2014) =>", Stripe.card.validateExpiry(00, 2014)); // returns false
console.log("(01, 2014) =>", Stripe.card.validateExpiry(01, 2014)); // true
console.log("(02, 2014) =>", Stripe.card.validateExpiry(02, 2014)); // true
console.log("(03, 2014) =>", Stripe.card.validateExpiry(03, 2014)); // true
console.log("(04, 2014) =>", Stripe.card.validateExpiry(04, 2014)); // true
console.log("(05, 2014) =>", Stripe.card.validateExpiry(05, 2014)); // true
console.log("(06, 2014) =>", Stripe.card.validateExpiry(06, 2014)); // true
console.log("(07, 2014) =>", Stripe.card.validateExpiry(07, 2014)); // true
console.log("(08, 2014) =>", Stripe.card.validateExpiry(08, 2014)); // true
console.log("(09, 2014) =>", Stripe.card.validateExpiry(09, 2014)); // true
console.log("(10, 2014) =>", Stripe.card.validateExpiry(10, 2014)); // true
console.log("(11, 2014) =>", Stripe.card.validateExpiry(11, 2014)); // true
console.log("(12, 2014) =>", Stripe.card.validateExpiry(12, 2014)); // true
console.log("(13, 2014) =>", Stripe.card.validateExpiry(13, 2014)); // returns false
測試字符串變量
console.log("('00', '2014') =>", Stripe.card.validateExpiry('00', '2014')); // returns false
console.log("('01', '2014') =>", Stripe.card.validateExpiry('01', '2014')); // true
console.log("('02', '2014') =>", Stripe.card.validateExpiry('02', '2014')); // true
console.log("('03', '2014') =>", Stripe.card.validateExpiry('03', '2014')); // true
console.log("('04', '2014') =>", Stripe.card.validateExpiry('04', '2014')); // true
console.log("('05', '2014') =>", Stripe.card.validateExpiry('05', '2014')); // true
console.log("('06', '2014') =>", Stripe.card.validateExpiry('06', '2014')); // true
console.log("('07', '2014') =>", Stripe.card.validateExpiry('07', '2014')); // true
console.log("('08', '2014') =>", Stripe.card.validateExpiry('08', '2014')); // true
console.log("('09', '2014') =>", Stripe.card.validateExpiry('09', '2014')); // true
console.log("('10', '2014') =>", Stripe.card.validateExpiry('10', '2014')); // true
console.log("('11', '2014') =>", Stripe.card.validateExpiry('11', '2014')); // true
console.log("('12', '2014') =>", Stripe.card.validateExpiry('12', '2014')); // true
console.log("('13', '2014') =>", Stripe.card.validateExpiry('13', '2014')); // returns false
試驗在GS整數與2位年
console.log("(00, 14) =>", Stripe.card.validateExpiry(00, 14)); // false
console.log("(01, 14) =>", Stripe.card.validateExpiry(01, 14)); // false
console.log("(02, 14) =>", Stripe.card.validateExpiry(02, 14)); // false
console.log("(03, 14) =>", Stripe.card.validateExpiry(03, 14)); // false
console.log("(04, 14) =>", Stripe.card.validateExpiry(04, 14)); // false
console.log("(05, 14) =>", Stripe.card.validateExpiry(05, 14)); // false
console.log("(06, 14) =>", Stripe.card.validateExpiry(06, 14)); // false
console.log("(07, 14) =>", Stripe.card.validateExpiry(07, 14)); // false
console.log("(08, 14) =>", Stripe.card.validateExpiry(08, 14)); // false
console.log("(09, 14) =>", Stripe.card.validateExpiry(09, 14)); // false
console.log("(10, 14) =>", Stripe.card.validateExpiry(10, 14)); // false
console.log("(11, 14) =>", Stripe.card.validateExpiry(11, 14)); // false
console.log("(12, 14) =>", Stripe.card.validateExpiry(12, 14)); // false
console.log("(13, 14) =>", Stripe.card.validateExpiry(13, 14)); // false
與2位年
console.log("('00', '14') =>", Stripe.card.validateExpiry('00', '14')); // false
console.log("('01', '14') =>", Stripe.card.validateExpiry('01', '14')); // false
console.log("('02', '14') =>", Stripe.card.validateExpiry('02', '14')); // false
console.log("('03', '14') =>", Stripe.card.validateExpiry('03', '14')); // false
console.log("('04', '14') =>", Stripe.card.validateExpiry('04', '14')); // false
console.log("('05', '14') =>", Stripe.card.validateExpiry('05', '14')); // false
console.log("('06', '14') =>", Stripe.card.validateExpiry('06', '14')); // false
console.log("('07', '14') =>", Stripe.card.validateExpiry('07', '14')); // false
console.log("('08', '14') =>", Stripe.card.validateExpiry('08', '14')); // false
console.log("('09', '14') =>", Stripe.card.validateExpiry('09', '14')); // false
console.log("('10', '14') =>", Stripe.card.validateExpiry('10', '14')); // false
console.log("('11', '14') =>", Stripe.card.validateExpiry('11', '14')); // false
console.log("('12', '14') =>", Stripe.card.validateExpiry('12', '14')); // false
console.log("('13', '14') =>", Stripe.card.validateExpiry('13', '14')); // false
所以,你問一個問題,爲什麼他們已經實施了這種方式還是什麼條紋開發者測試字符串? – zerkms
我想它('02','15')是虛假的,因爲它意味着15年,而不是2015年。這就是爲什麼這兩個真實陳述是'2020'而不是'20'。 00不應該是有效的月份。 – Josh
@zerkms,我在問爲什麼「00」被認爲是一個有效的月份,當00不是 –