JSFiddle - React, Tailwind, and code Playground

by booktu8

JavaScript

var Validation;
(function(Validation) {
  const lettersRegexp = /^[A-Za-z]+$/;
  const numberRegexp = /^[0-9]+$/;
  class LettersOnlyValidator {
    isAcceptable(s) {
      return lettersRegexp.test(s);
    }
  }
  Validation.LettersOnlyValidator = LettersOnlyValidator;
  class ZipCodeValidator {
    isAcceptable(s) {
      return s.length === 5 && numberRegexp.test(s);
    }
  }
  Validation.ZipCodeValidator = ZipCodeValidator;
})(Validation || (Validation = {}));
// Some samples to try
let strings = ["Hello", "98052", "101"];
// Validators to use
let validators = {};
validators["ZIP code"] = new Validation.ZipCodeValidator();
validators["Letters only"] = new Validation.LettersOnlyValidator();
// Show whether each string passed each validator
console.log(JSON.stringify(validators,null,4));
// for (let s of strings) {
//   for (let name in validators) {
//     console.log(
//       `"${s}" - ${
//         validators[name].isAcceptable(s) ? "matches" : "does not match"
//       } ${name}`
//     );
//   }
// }