UNPKG

dhxmvp

Version:

A complete boilerplate for building online, offline and syncable MVP Single Page Applications using DHTMLX.

7 lines 4.27 kB
/*! * creditcard.js v2.0.3 * 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;a<t.length;a++)i(t[a]);return i}({1:[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;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}return function(r,n,t){return n&&e(r.prototype,n),t&&e(r,t),r}}(),u=e("./creditCardList"),a=e("./helpers/luhn"),o=function(){function e(){t(this,e),this.creditcardlist=new u,this.luhn=new a}return i(e,[{key:"retrieveCreditCardList",value:function e(){return this.creditcardlist.retrieveCreditCardList()}},{key:"isValid",value:function e(r){return this.luhn.isValid(r)}},{key:"getCreditCardNameByNumber",value:function e(r){var n="Credit card is invalid!";if(!this.isValid(r))return n;for(var t=this.retrieveCreditCardList(),i=0;i<t.length;i++){var u=t[i],a=new RegExp(u.regexpFull);if(a.test(r))return u.name}return n}},{key:"isSecurityCodeValid",value:function e(r,n){var t=this.getCreditCardNameByNumber(r),i=void 0;i="Amex"===t?4:3;var u=new RegExp("^[0-9]{"+i+"}$");return u.test(n)}},{key:"isExpirationDateValid",value:function e(r,n){var t=r,i=n;return t=parseInt(t,10),i=parseInt(i,10),1>t||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;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}return function(r,n,t){return n&&e(r.prototype,n),t&&e(r,t),r}}(),u=[{name:"Elo",regexpFull:"^(401178|401179|431274|438935|451416|457393|457631|457632|504175|627780|636297|636368|(506699|5067[0-6]d|50677[0-8])|(50900d|5090[1-9]d|509[1-9]d{2})|65003[1-3]|(65003[5-9]|65004d|65005[0-1])|(65040[5-9]|6504[1-3]d)|(65048[5-9]|65049d|6505[0-2]d|65053[0-8])|(65054[1-9]|6505[5-8]d|65059[0-8])|(65070d|65071[0-8])|65072[0-7]|(65090[1-9]|65091d|650920)|(65165[2-9]|6516[6-7]d)|(65500d|65501d)|(65502[1-9]|6550[3-4]d|65505[0-8]))[0-9]{10,12}"},{name:"Diners",regexpFull:"^3(?:0[0-5]|[68][0-9])[0-9]{11}$"},{name:"Discover",regexpFull:"^6(?:011|5[0-9]{2})[0-9]{12}$"},{name:"Hipercard",regexpFull:"^(38[0-9]{17}|60[0-9]{14})$"},{name:"Amex",regexpFull:"^3[47][0-9]{13}$"},{name:"Aura",regexpFull:"^50[0-9]{14,17}$"},{name:"Mastercard",regexpFull:"^5[1-5][0-9]{14}$"},{name:"Visa",regexpFull:"^4[0-9]{12}(?:[0-9]{3})?$"}],a=function(){function e(){t(this,e),this.list=u}return i(e,[{key:"retrieveCreditCardList",value:function e(){return this.list}}]),e}();r.exports=a},{}],3:[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;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}return function(r,n,t){return n&&e(r.prototype,n),t&&e(r,t),r}}(),u=function(){function e(){t(this,e),this.computed=[0,2,4,6,8,1,3,5,7,9]}return i(e,[{key:"_sum",value:function e(r){for(var n=0,t=0,i=r.length,u=!0;i--;)t=Number(r[i]),n+=(u=!u)?this.computed[t]:t;return n}},{key:"isValid",value:function e(r){var n=new RegExp("/[^0-9-s]+/"),t=r;if(n.test(t))return!1;t=t.replace(/\D/g,"");var i=this._sum(t);return i>0&&i%10===0}}]),e}();r.exports=u},{}]},{},[1])(1)});