2.3.0 • Published 12 days ago
@comparaonline/validator-collection v2.3.0
@comparaonline/validator-collection
Multipurpose validation library for Typescript
Validators
Pattern Validator
Validates that a string follows a regex pattern:
const validator = new PatternValidator('^[0-9]*$');
validator.isValid('12345'); // true
validator.isValid('1234R'); // false
Number Validators
Greater than
const validator = new GreaterThanValidator(5);
validator.isValid(6); // true
validator.isValid(3); // false
Less than
const validator = new LessThanValidator(3);
validator.isValid(-2); // true
validator.isValid(5); // false
Credit Card Validators
Credit card number
const validator = new CreditCardNumberValidator();
validator.isValid('4556049290199451'); // true
validator.isValid('1234567890123456'); // false
CVV
const validator = new CreditCardCvvValidator();
validator.isValid('618', { creditCardNumber: '4916244676983389' }); // true
validator.isValid('6201', { creditCardNumber: '4916244676983389' }); // false
Expiration
Receives a date string in format YYYYMM
const validator = new CreditCardExpirationValidator();
validator.isValid('205001'); // true
validator.isValid('200004'); // false
Date Validators
Date format validator
const validator = new DateFormatValidator('YYYY-MM-DD');
validator.isValid('1970-12-11'); // true
validator.isValid('1999-00-00'); // false
Before date validator
const validator = new BeforeDateValidator('MM-DD-YYYY', '01-01-2020');
validator.isValid('01-01-2019'); // true
validator.isValid('02-01-2020'); // false
After date validator
const validator = new AfterDateValidator('MM-DD-YYYY', '01-01-2020');
validator.isValid('02-01-2020'); // true
validator.isValid('01-01-2019'); // false
Plate Validators
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
Email Validator
const validator = new EmailValidator();
validator.isValid('test@compara.com'); // true
validator.isValid('testcompara.com'); // false
Phone validators
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
National Id Validators
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