From bf05b5e832373d676a62a5e4816286be6c460655 Mon Sep 17 00:00:00 2001 From: fernahh Date: Mon, 22 Aug 2016 10:54:14 -0300 Subject: [PATCH] Bump version --- README.md | 2 -- assets/images/credit-card-logo.png | Bin 8453 -> 0 bytes bower.json | 2 +- dist/creditcard.js | 8 +++++--- dist/creditcard.min.js | 4 ++-- package.json | 2 +- src/creditCardList.js | 3 +-- 7 files changed, 10 insertions(+), 11 deletions(-) delete mode 100644 assets/images/credit-card-logo.png diff --git a/README.md b/README.md index a205c06..f5c07a1 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,6 @@ > A simple credit cards validation library in JavaScript. -creditcard.js - ## Install You can [download the zip file](https://github.com/contaazul/creditcard.js/archive/master.zip) or use NPM and Bower. diff --git a/assets/images/credit-card-logo.png b/assets/images/credit-card-logo.png deleted file mode 100644 index bf15f8bdb29786fd5b966f73e9c8cfec00495184..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8453 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 diff --git a/bower.json b/bower.json index be4a57d..63a3587 100644 --- a/bower.json +++ b/bower.json @@ -2,7 +2,7 @@ "name": "creditcard.js", "description": "A simple library for credit-card validation in JavaScript", "main": "dist/creditcard.min.js", - "version": "2.0.3", + "version": "2.1.0", "authors": [ "@ContaAzul" ], diff --git a/dist/creditcard.js b/dist/creditcard.js index 60e25fd..5af10e0 100644 --- a/dist/creditcard.js +++ b/dist/creditcard.js @@ -1,5 +1,5 @@ /*! - * creditcard.js v2.0.3 + * creditcard.js v2.1.0 * Created by @ContaAzul. * * Licensed MIT. @@ -53,7 +53,7 @@ var CreditCard = function () { key: 'isSecurityCodeValid', value: function isSecurityCodeValid(number, code) { var brand = this.getCreditCardNameByNumber(number); - var numberLength = undefined; + var numberLength = void 0; numberLength = brand === 'Amex' ? 4 : 3; var regex = new RegExp('^[0-9]{' + numberLength + '}$'); @@ -69,6 +69,8 @@ var CreditCard = function () { m = parseInt(m, 10); y = parseInt(y, 10); + if (isNaN(m) || isNaN(y)) return false; + if (m < 1 || m > 12) return false; return !(y < 1000 || y >= 3000); @@ -107,7 +109,7 @@ var CREDIT_CARD_LIST = [{ regexpFull: '^50[0-9]{14,17}$' }, { name: 'Mastercard', - regexpFull: '^5[1-5][0-9]{14}$' + regexpFull: '^(5[1-5][0-9]{14}|2221[0-9]{12}|222[2-9][0-9]{12}|22[3-9][0-9]{13}|2[3-6][0-9]{14}|27[01][0-9]{13}|2720[0-9]{12})$' }, { name: 'Visa', regexpFull: '^4[0-9]{12}(?:[0-9]{3})?$' diff --git a/dist/creditcard.min.js b/dist/creditcard.min.js index 045ad75..9ecaff3 100644 --- a/dist/creditcard.min.js +++ b/dist/creditcard.min.js @@ -1,7 +1,7 @@ /*! - * creditcard.js v2.0.3 + * creditcard.js v2.1.0 * Created by @ContaAzul. * * Licensed MIT. */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.CreditCard=e()}}(function(){var e,r,n;return function e(r,n,t){function i(a,o){if(!n[a]){if(!r[a]){var l="function"==typeof require&&require;if(!o&&l)return l(a,!0);if(u)return u(a,!0);var f=new Error("Cannot find module '"+a+"'");throw f.code="MODULE_NOT_FOUND",f}var s=n[a]={exports:{}};r[a][0].call(s.exports,function(e){var n=r[a][1][e];return i(n?n:e)},s,s.exports,e,r,n,t)}return n[a].exports}for(var u="function"==typeof require&&require,a=0;at||t>12?!1:!(1e3>i||i>=3e3)}}]),e}();r.exports=o},{"./creditCardList":2,"./helpers/luhn":3}],2:[function(e,r,n){"use strict";function t(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,r){for(var n=0;n0&&i%10===0}}]),e}();r.exports=u},{}]},{},[1])(1)}); \ No newline at end of file +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.CreditCard=e()}}(function(){var e,r,n;return function e(r,n,t){function i(a,o){if(!n[a]){if(!r[a]){var l="function"==typeof require&&require;if(!o&&l)return l(a,!0);if(u)return u(a,!0);var f=new Error("Cannot find module '"+a+"'");throw f.code="MODULE_NOT_FOUND",f}var s=n[a]={exports:{}};r[a][0].call(s.exports,function(e){var n=r[a][1][e];return i(n?n:e)},s,s.exports,e,r,n,t)}return n[a].exports}for(var u="function"==typeof require&&require,a=0;a12)&&!(i<1e3||i>=3e3))}}]),e}();r.exports=o},{"./creditCardList":2,"./helpers/luhn":3}],2:[function(e,r,n){"use strict";function t(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,r){for(var n=0;n0&&i%10===0}}]),e}();r.exports=u},{}]},{},[1])(1)}); \ No newline at end of file diff --git a/package.json b/package.json index 20ccefc..e67edca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "creditcard.js", - "version": "2.0.3", + "version": "2.1.0", "description": "A simple library for credit-card validation in JavaScript", "main": "dist/creditcard.min.js", "repository": "ContaAzul/creditcard.js", diff --git a/src/creditCardList.js b/src/creditCardList.js index 0c05a89..e51761a 100644 --- a/src/creditCardList.js +++ b/src/creditCardList.js @@ -19,8 +19,7 @@ const CREDIT_CARD_LIST = [ regexpFull: '^50[0-9]{14,17}$' }, { name: 'Mastercard', - regexpFull: '^5[1-5][0-9]{14}$' - //regexpFull: '^(5[1-5][0-9]{14}|2221[0-9]{12}|222[2-9][0-9]{12}|22[3-9][0-9]{13}|2[3-6][0-9]{14}|27[01][0-9]{13}|2720[0-9]{12})$' //After October + regexpFull: '^(5[1-5][0-9]{14}|2221[0-9]{12}|222[2-9][0-9]{12}|22[3-9][0-9]{13}|2[3-6][0-9]{14}|27[01][0-9]{13}|2720[0-9]{12})$' }, { name: 'Visa', regexpFull: '^4[0-9]{12}(?:[0-9]{3})?$'