Multipurpose validation library for Typescript
Table of Contents
Validates that a string follows a regex pattern:
const validator = new PatternValidator('^[0-9]*$');
validator.isValid('12345'); // true
validator.isValid('1234R'); // false
const validator = new GreaterThanValidator(5);
validator.isValid(6); // true
validator.isValid(3); // false
const validator = new LessThanValidator(3);
validator.isValid(-2); // true
validator.isValid(5); // false
const validator = new CreditCardNumberValidator();
validator.isValid('4556049290199451'); // true
validator.isValid('1234567890123456'); // false
const validator = new CreditCardCvvValidator();
validator.isValid('618', { creditCardNumber: '4916244676983389' }); // true
validator.isValid('6201', { creditCardNumber: '4916244676983389' }); // false
Receives a date string in format YYYYMM
const validator = new CreditCardExpirationValidator();
validator.isValid('205001'); // true
validator.isValid('200004'); // false
const validator = new DateFormatValidator('YYYY-MM-DD');
validator.isValid('1970-12-11'); // true
validator.isValid('1999-00-00'); // false
const validator = new BeforeDateValidator('MM-DD-YYYY', '01-01-2020');
validator.isValid('01-01-2019'); // true
validator.isValid('02-01-2020'); // false
const validator = new AfterDateValidator('MM-DD-YYYY', '01-01-2020');
validator.isValid('02-01-2020'); // true
validator.isValid('01-01-2019'); // false
const chilePlateValidator = PlateValidatorFactory.getValidator('CL');
chilePlateValidator.isValid('wxyz12'); // true
chilePlateValidator.isValid('wxyz12', { plateType: 'LightVehicle' }) // true
chilePlateValidator.isValid('AB123', { plateType: 'Motorcycle', includeOldFormat: false }); // false
const colombiaPlateValidator = PlateValidatorFactory.getValidator('CO');
colombiaPlateValidator.isValid('AAA-123'); // true
colombiaPlateValidator.isValid('CZR-26D'); // false
const brazilPlateValidator = PlateValidatorFactory.getValidator('BR');
brazilPlateValidator.isValid('LBM-4000'); // true
brazilPlateValidator.isValid('LBM-40000'); // false
const validator = new EmailValidator();
validator.isValid('test@compara.com'); // true
validator.isValid('testcompara.com'); // false
const chilePhoneValidator = PhoneValidatorFactory.getValidator('CL');
chilePhoneValidator.isValid('+56912345678'); // true;
chilePhoneValidator.isValid('912345678'); // false;
const colombyPhoneValidator = PhoneValidatorFactory.getValidator('CO');
colombyPhoneValidator.isValid('+573575757571'); // true
colombyPhoneValidator.isValid('+573'); // false
const brazilPhoneValidator = PhoneValidatorFactory.getValidator('BR');
brazilPhoneValidator.isValid('21934561112'); // true
brazilPhoneValidator.isValid('1098762222'); // false
const chileNationalIdValidator = NationalIdValidatorFactory.getValidator('CL');
chileNationalIdValidator.isValid('11.111.111-1'); // true;
chileNationalIdValidator.isValid('17920701-k-k'); // false;
const colombyNationalIdValidator = NationalIdValidatorFactory.getValidator('CO');
colombyNationalIdValidator.isValid('2312345'); // true
colombyNationalIdValidator.isValid(''); // false
const brazilNationalIdValidator = NationalIdValidatorFactory.getValidator('BR');
brazilNationalIdValidator.isValid('816.309.700-00'); // true
brazilNationalIdValidator.isValid('122'); // false
brazilNationalIdValidator.matchesControlDigits('816.309.700-00'); // true
brazilNationalIdValidator.matchesControlDigits('816.309.700-01'); // false
brazilNationalIdValidator.matchesControlDigits('816.309.700.01'); // false
brazilNationalIdValidator.matchesControlDigits('81630970001'); // false