const forms = document.querySelectorAll('.powermail_form');
forms.forEach(function(form) {
  let formValidation = form.powermailFormValidation;

  formValidation.addValidator('maxchars', function(field) {
    if (field.hasAttribute('data-powermail-maxchars')) {
      // return true means validation has failed

      try {
        let numberOfCharactersWithoutHTML = field.value.replace(/(<([^>]+)>)/ig, "").replace(/&nbsp;/g, " ").length;
        return numberOfCharactersWithoutHTML >= parseInt(field.getAttribute('data-powermail-maxchars'));
      } catch (error) {
        console.log(error);
        return true;
      }
    }
    return false;
  });
});
