UNPKG

react-native-mask-input

Version:

TextInput with mask for ReactNative on both iOS and Android. Includes obfuscation characters feature.

122 lines (94 loc) 3.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _createNumberMask = _interopRequireDefault(require("./createNumberMask")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const BRL_CAR_PLATE = [/[a-zA-Z]/, /[a-zA-Z]/, /[a-zA-Z]/, '-', /\d/, /\w/, /\d/, /\d/]; const BRL_CNPJ = [/\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/]; const BRL_CPF = [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/]; const BRL_CPF_CNPJ = text => { const rawValue = (text === null || text === void 0 ? void 0 : text.replace(/\D+/g, '')) || ''; return rawValue.length <= 11 ? BRL_CPF : BRL_CNPJ; }; const BRL_CURRENCY = (0, _createNumberMask.default)({ prefix: ['R', '$', ' '], separator: ',', delimiter: '.', precision: 2 }); const USA_PHONE = ["(", /[2-9]/, /\d/, /\d/, ')', ' ', /[2-9]/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]; const BRL_PHONE = ['(', /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]; const CREDIT_CARD = [/\d/, /\d/, /\d/, /\d/, ' ', [/\d/], [/\d/], [/\d/], [/\d/], ' ', [/\d/], [/\d/], [/\d/], [/\d/], ' ', /\d/, /\d/, /\d/, /\d/]; const DATE_DDMMYYYY = (text = '') => { const cleanText = text.replace(/\D+/g, ''); let secondDigitDayMask = /\d/; if (cleanText.charAt(0) === '0') { secondDigitDayMask = /[1-9]/; } if (cleanText.charAt(0) === '3') { secondDigitDayMask = /[01]/; } let secondDigitMonthMask = /\d/; if (cleanText.charAt(2) === '0') { secondDigitMonthMask = /[1-9]/; } if (cleanText.charAt(2) === '1') { secondDigitMonthMask = /[012]/; } return [/[0-3]/, secondDigitDayMask, '/', /[0-1]/, secondDigitMonthMask, '/', /\d/, /\d/, /\d/, /\d/]; }; const DATE_MMDDYYYY = (text = '') => { const cleanText = text.replace(/\D+/g, ''); let secondDigitMonthMask = /\d/; if (cleanText.charAt(0) === '0') { secondDigitMonthMask = /[1-9]/; } if (cleanText.charAt(0) === '1') { secondDigitMonthMask = /[012]/; } let secondDigitDayMask = /\d/; if (cleanText.charAt(2) === '0') { secondDigitDayMask = /[1-9]/; } if (cleanText.charAt(2) === '3') { secondDigitDayMask = /[01]/; } return [/[0-1]/, secondDigitMonthMask, '/', /[0-3]/, secondDigitDayMask, '/', /\d/, /\d/, /\d/, /\d/]; }; const DATE_YYYYMMDD = (text = '') => { const cleanText = text.replace(/\D+/g, ''); let secondDigitMonthMask = /\d/; if (cleanText.charAt(4) === '0') { secondDigitMonthMask = /[1-9]/; } if (cleanText.charAt(4) === '1') { secondDigitMonthMask = /[012]/; } let secondDigitDayMask = /\d/; if (cleanText.charAt(6) === '0') { secondDigitDayMask = /[1-9]/; } if (cleanText.charAt(6) === '3') { secondDigitDayMask = /[01]/; } return [/\d/, /\d/, /\d/, /\d/, '/', /[0-1]/, secondDigitMonthMask, '/', /[0-3]/, secondDigitDayMask]; }; const ZIP_CODE = [/\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/]; var _default = { BRL_CAR_PLATE, BRL_CNPJ, BRL_CPF, BRL_CPF_CNPJ, BRL_CURRENCY, BRL_PHONE, USA_PHONE, CREDIT_CARD, DATE_DDMMYYYY, DATE_MMDDYYYY, DATE_YYYYMMDD, ZIP_CODE }; exports.default = _default; //# sourceMappingURL=Masks.js.map