Скрипт для проверки сложности пароля

Программное обеспечение

Написал не сложный скрипт для проверки сложности пароля для формы RDWeb, после развертывания роли Web-доступ к серверу терминалов.

<script>
  const form = document.getElementById('FrmLogin')
  const warn = document.querySelector('#trErrorIncorrectCredentials')
  const warnContainer = document.getElementById('trErrorIncorrectCredentials')
  const newPassField = document.getElementById('NewUserPass')
  const repeatPassField = document.getElementById('ConfirmNewUserPass')
  const passTemplates = [
      {
          template: /[a-z]/,
          msg: 'Нет строчный букв'
      },
      {
          template: /[A-Z]/,
          msg: 'Нет заглавных букв'
      },
      {
          template: /[0-9]/, 
          msg: 'Нет цифр'
      },
      {
          template: /[^\w\s0-9]/,
          msg: 'Нет спец символов'
      },
      {
          template: /.{6,}/,
          msg: 'Не менее 6 символов'
      }
  ]
  const passTemplate = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^\w\s]).{6,}/
  const showWarn = errorBlock => {
      warnContainer.style.display = 'block'
      warn.innerHTML = `
          <td>
              <br /><br />
              <div class="wrng">
                  ${errorBlock}    
              </div>
          </td>
      `
  }

  form.addEventListener('submit', e => {
      const errors = []
      const value = newPassField.value

      passTemplates.forEach(({ template, msg }) => {
          if (!template.test(value)) {
              errors.push(msg)
          }
      })

      if (errors.length > 0) {
          const passStrength = Math.floor(passTemplates.length - errors.length) /passTemplates.length * 100
          const errorView = errors.reduce((errorBlock, msg) => {
              errorBlock += `<li>${msg}</li>`

              return errorBlock
          }, '')
          showWarn(`<div>Сила пароля ${passStrength}%</div><ul>${errorView}</ul>`)
          e.preventDefault()
      } else if(newPassField.value !== repeatPassField.value) {
          showWarn('Поля новый пароль и подтверждение пароля должны совпадать')
          e.preventDefault()
      }
  })
</script>