2.0.0 • Published 4 years ago

js-string-validator v2.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

js-string-validator

Script Validator

JavaScript String validator utility class. Based on the builder pattern, this class will all you to validate the given string for user defined criteria.

Add to your application

Get the package from here

npm i js-string-validator

How to use

  • Basic usage

const StringValidator = require('js-string-validator');
  
let validator = new StringValidator('some string');

let isValidString = validator.min(0).max(20).regex(/\s+/).includes('string').validate();

console.log(isValidString);
// true -> string obey all criteria

console.log(validator.validate());
// true -> valid string without any criteria

validator = new StringValidator();

console.log(validator.validate());
// false -> Not a valid string
  • Builder

Create a template (validator function) for re-usability

const StringValidatorBuilder = require('js-string-validator/builder');
  
const validator = StringValidatorBuilder().min(0).max(20).regex(/\s+/).includes('string').build();

console.log(validator('some string'));
// true  -> string obeys the pattern

console.log(validator('random'));
// false -> string violates the pattern

console.log(validator());
// false -> undefined not allowed

API specification

  • Basic usage

Following methods can be linked to validate a given string

MethodDefinitionUsageExample
constructornew StringValidator(value) ; value: string \| null \| undefinedInitialize the validator with value to be validated.new StringValidator()
lengthlength(number) ; number : anyValidate the length of the string. Validation is skipped if number not 0 or +.validator.length(1).validate()
maxmax(number) ; number : anyValidate the max length of the string. Validation is skipped if number is not 0 or +.validator.max(10).validate()
minmin(number) ; number : anyValidate the min length of the string. Validation is skipped if number is not 0 or +.validator.min(0).validate()
regexregex(regexPattern) ; regexPattern : anyValidate for the string for given regexPattern. Validation is skipped if the pattern is not a regexvalidator.regex(/[0-9a-zA-Z]+/).validate()
includesincludes(subString) ; subString: anyValidate if subString includes in the string. Validation is skipped if the subString is undefinedvalidator.includes('test').validate()
allowallow(allowedValue) ; allowedValue: anyValidate true if constructed with allowedValuevalidator.allow(undefined).validate()
validatevalidate()Validate the given string with given criteriavalidator.max(10).min(0).validate()
  • Builder

Builder API will allow creation of a template for String validation.

length, max, regex, includes, allow can be used to build a template (combine these methods in any form suits).

Use build() to generate a validator function.

StringValidatorBuilder().length(number).max(number).min(number).regex(regexPattern).includes(subString).allow(allowedValue).build();