From 6e80eb984c973fb5675a8ad143a68ae9254469fa Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 15 Mar 2015 22:04:19 -0400 Subject: Epirts.card.validateCardNumber(): Implement --- diff --git a/epirts.js b/epirts.js index 7053626..9a538af 100644 --- a/epirts.js +++ b/epirts.js @@ -42,6 +42,23 @@ var Stripe = Epirts = (function() { }; pub.validateCardNumber = function(number) { + number = (number + '').replace(/\s|-/g); + if (number.match(/\D/)) { + return false; + } else if (number.length < 13 || number.length > 16) { + /* Card number lengths: + * * VISA: 13 or 16 + * * MasterCard: 16 + * * American Express: 15 + * * JCB: 16 + * * Discover: 16 + * * Diners Club: 14-16 + */ + return false; + } else if (!pub.luhnCheck(number)) { + return false; + } + return true; }; pub.luhnCheck = function(number) { -- cgit v0.9.1