00是信用卡的有效月份吗?

时间:2013-12-20 03:49:25

标签: javascript stripe-payments

当我调用Stripe.card.validateExpiry("00","2014")时,它在使用stripe.js时返回true。

Stripe.card.validateExpiry(00,2014)

返回false。

我只是要传递ints,但是,文档说你也可以传入字符串。这是什么交易?

Stripe.card.validateExpiry('02', '15')      // false -- * WHY is this false? Feb 2015.
Stripe.card.validateExpiry('02', '10')      // false -- makes sense
Stripe.card.validateExpiry('02', '2020')    // true -- makes sense
Stripe.card.validateExpiry(2, 2020)         // true -- makes sense

https://stripe.com/docs/stripe.js

1 个答案:

答案 0 :(得分:1)

我尝试了几种不同的排列。它似乎对我有用,但有一个例外:年份需要全部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

测试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