UNPKG

s-valid

Version:
31 lines (30 loc) 971 B
"use strict"; exports.__esModule = true; // ----- generic card validation // -- 1. input must be a string // -- 2. input length must be valid // -- 3. perform check based on number // --------------------------------------- function default_1(s) { // [1] throws here if not a string s = s.toLowerCase(); // [2] must be valid card length if (s.length < 13 || s.length > 19) { return false; } // [3] method of testing credit cards from // http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.js var testNumber = 0; for (var i = s.length - 1, current, currentInteger = 0, even = false; i >= 0; i--) { current = s.charAt(i); currentInteger = parseInt(current, 10); if (even && (currentInteger *= 2) > 9) { currentInteger -= 9; } testNumber += currentInteger; even = !even; } return (testNumber % 10) === 0; } exports["default"] = default_1; ;