-
Notifications
You must be signed in to change notification settings - Fork 10
/
card-validator.js
1 lines (1 loc) · 7.72 KB
/
card-validator.js
1
var cardValidator=function(e){function r(t){if(a[t])return a[t].exports;var n=a[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var a={};return r.m=e,r.c=a,r.d=function(e,a,t){r.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:t})},r.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(a,"a",a),a},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="/assets",r(r.s=4)}([function(e,r,a){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function n(e){var r=e.split("").reverse(),a=[],t=[];r.forEach(function(e,r){(r+1)%2!=0?a.push(e):t.push(e)});var n=a.reduce(function(e,r){return parseInt(e)+parseInt(r)}),i=t.map(function(e){var r=2*e;if(r>9){var a=r.toString().split("");return parseInt(a[0])+parseInt(a[1])}return r}).reduce(function(e,r){return parseInt(e)+parseInt(r)}),d=(n+i).toString();if("0"===d.charAt(d.length-1))return!0}Object.defineProperty(r,"__esModule",{value:!0}),r.validateCard=r.predictCard=r.defaults=r.init=void 0;var i=a(1),d=t(i),s=a(2),u=t(s),o=a(3),c={querySelectors:{logo:"#card-logo",label:"#card-label",cardNumber:"#card_number"},errorMessage:"Tarjeta invalida"},m=function(){var e=document.querySelector(c.querySelectors.logo),r=document.querySelector(c.querySelectors.cardNumber);r&&e&&r.addEventListener("input",function(){var a=this.getAttribute("mask-pattern");a&&(this.value=(0,o.mask)(this.value,a));var t=l(this);t?g(e,t):g(e,"unknown"),p(r)?f(r,!0):f(r,!1)})},l=function(e){var r="",a=(0,o.trimAllSpaces)(e.value);if(!a)return!1;for(var t in d.default)if(d.default.hasOwnProperty(t)&&d.default[t].predict.test(a)){e.setAttribute("mask-pattern",d.default[t].maskPattern);var n=d.default[t].maskPattern.length;(0,o.setMaxlength)(e,n),r=t;break}return r},g=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"unknown";e.classList="","unknown"===r?e.classList.add("unkown"):e.classList.add(r)},p=function(e){var r=(0,o.trimAllSpaces)(e.value);if(!u.default.CardNumber.test(r))return!1;for(var a in d.default)if(d.default[a].regex.test(r))return!!n(r)&&a},f=function(e,r){e&&(r?(e.classList.remove("error"),e.classList.add("validcard")):(e.classList.add("error"),e.classList.remove("validcard")))};r.init=m,r.defaults=c,r.predictCard=l,r.validateCard=p},function(e,r,a){"use strict";function t(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}Object.defineProperty(r,"__esModule",{value:!0});var n,i=(n={visa:{id:1,name:"Visa",regex:/^4(?:[0-9]{11}|[0-9]{14})[0-9]$/,predict:/^4[0-9]*$/,maxLength:16,maskPattern:"9999 9999 9999 9999"},visadebito:{id:31,name:"Visa Debito",regex:/^4(?:[0-9]{11}|[0-9]{14})[0-9]$/,predict:/^4[0-9]*$/,maxLength:16,maskPattern:"9999 9999 9999 9999"},mastercard:{id:15,name:"Mastercard",regex:/^5[1-5][0-9]{14}$/,predict:/^5[1-5][0-9]*$/,maxLength:16,maskPattern:"9999 9999 9999 9999"},masterdebit:{id:66,name:"Master Debit",regex:/^5[1-5][0-9]{14}$/,predict:/^5[1-5][0-9]*$/,maxLength:16,maskPattern:"9999 9999 9999 9999"},amex:{id:6,name:"American Express",regex:/^3[47][0-9]{13}$/,predict:/^3[47][0-9]*$/,maxLength:15,maskPattern:"9999 999999 99999"},amexmt:{id:65,name:"American Express",regex:/^3[47][0-9]{13}$/,predict:/^3[47][0-9]*$/,maxLength:15,maskPattern:"9999 999999 99999"},diners:{id:8,name:"Diners Club",regex:/^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,predict:/^3(?:0[0-5]|[68][0-9])[0-9]*/,maxLength:14,maskPattern:"9999 9999 9999 9999"},discover:{id:82,name:"Discover",regex:/^6(?:011|5[0-9]{2})[0-9]{12}$/,predict:/^6(?:011|5[0-9]{2})[0-9]*/,maxLength:16,maskPattern:"9999 9999 9999 9999"},shopping:{id:23,name:"Tarjeta Shopping",regex:/^279[0-9]{3,}$/,predict:/^279[0-9]{3}[0-9]*/,maxLength:15,maskPattern:"9999 9999 9999 9999"}},t(n,"shopping",{id:23,name:"Tarjeta Shopping",regex:/^606488[0-9]{0,}$/,predict:/^606488[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"naranja",{id:24,name:"Tarjeta Naranja",regex:/^589562[0-9]{0,}$/,predict:/^589562[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"qida",{id:52,name:"Tarjeta Qida",regex:/^504570[0-9]{0,}$/,predict:/^504570[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"clubdia",{id:56,name:"Club Dia",regex:/^636897[0-9]{0,}$/,predict:/^636897[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"musicred",{id:57,name:"Musicred",regex:/^636435[0-9]{0,}$/,predict:/^636435[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"nevada",{id:39,name:"Tarjeta Nevada",regex:/^504363[0-9]{0,}$/,predict:/^504363[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"tuya",{id:59,name:"Tarjeta Tuya",regex:/^588800[0-9]{0,}$/,predict:/^588800[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"laanonima",{id:61,name:"La Anonima",regex:/^421024[0-9]{0,}$/,predict:/^421024[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"crediguia",{id:62,name:"Credi Guia",regex:/^603288[0-9]{0,}$/,predict:/^603288[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"patagonia",{id:55,name:"Patagonia 365",regex:/^504656[0-9]{0,}$/,predict:/^504656[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"sol",{id:64,name:"Tarjeta Sol",regex:/^504639[0-9]{0,}$/,predict:/^504639[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"cabal",{id:27,name:"Cabal",regex:/^589657[0-9]{0,}$/,predict:/^589657[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"cencosud",{id:43,name:"Cencosud",regex:/^603493[0-9]{0,}$/,predict:/^603493[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"credimas",{id:38,name:"Credimas",regex:/^504520[0-9]{0,}$/,predict:/^504520[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"carrefour",{id:44,name:"Tarjeta Carrefour",regex:/^(507858|585274)[0-9]{0,}$/,predict:/^(507858|585274)[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"grupar",{id:54,name:"Tarjeta grupar",regex:/^(605915)[0-9]{0,}$/,predict:/^(605915)[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),t(n,"wishgift",{id:102,name:"Tarjeta wishgift",regex:/^(637046)[0-9]{0,}$/,predict:/^(637046)[0-9]{0,}/,maxLength:15,maskPattern:"9999 9999 9999 9999"}),n);r.default=i},function(e,r,a){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var t={CardHolderName:/^[\u00f1a-z\xD1A-Z ]+$/,CardHolderMail:/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i,CardNumber:/^([0-9]{8,19})$/,CardExpirationDate:/^(0[1-9]|1[012])\d{2}$/,CardSecurityCode:/^([0-9]{3,4})$/,CardHolderIdentification:/^([0-9]{1,})$/,CardHolderIdentificationType:/^[1-9]$/,CardHolderAddressNumber:/^([0-9]{1,})$/,CardHolderDateOfBirth:/^(0[1-9]|[1-2][0-9]|31(?!(?:0[2469]|11))|30(?!02))(0[1-9]|1[0-2])([12]\d{3})$/,CardExpirationMonth:/^(0?[1-9]|1[012])$/,CardExpirationYear:/^([0-9]{2,4})$/,CardHolderBirthDay:/^(0?[1-9]|[12]\d|3[01])$/,CardHolderBirthMonth:/^(0?[1-9]|1[012])$/,CardHolderBirthYear:/^\d{4}$/,CardHolderAddressStreet:/.+/};r.default=t},function(e,r,a){"use strict";function t(e){if(Array.isArray(e)){for(var r=0,a=Array(e.length);r<e.length;r++)a[r]=e[r];return a}return Array.from(e)}Object.defineProperty(r,"__esModule",{value:!0});var n=function(e){return e.replace(/\s/g,"").trim()},i=function(e,r){e.setAttribute("maxlength",r)},d=function(e,r){var a=[].concat(t(r)),n=[].concat(t(e.replace(/\s/g,""))),i=[];return a.forEach(function(e,r){0!==n.length&&(" "!==e&&i.push(n.shift())," "===e&&i.push(" "))}),i.join("")};r.trimAllSpaces=n,r.mask=d,r.setMaxlength=i},function(e,r,a){"use strict";var t=a(0),n=function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(r[a]=e[a]);return r.default=e,r}(t);n.defaults.querySelectors.cardNumber="#card",n.defaults.querySelectors.logo="#logo",n.init()}]);