@comparaonline/validator-collection

Multipurpose validation library for Typescript

Usage no npm install needed!

<script type="module">
  import comparaonlineValidatorCollection from 'https://cdn.skypack.dev/@comparaonline/validator-collection';
</script>

README

@comparaonline/validator-collection

Multipurpose validation library for Typescript


Table of Contents
  1. Usage

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