JSFiddle - React, Tailwind, and code Playground

by dife

HTML

<input type="text" id="conta" required/>
    <button id="input-btn" type="button">
        Testar conta
    </button>

<div id="res">

</div>

JavaScript

const inputBtn = document.getElementById("input-btn");
const inputEl = document.getElementById("conta");


function getInputVal() {
  
  const numeroConta = inputEl.value;

// Verifica se o número de conta consiste em exatamente 6 dígitos usando uma expressão regular:
if (/^\d{6}$/.test(numeroConta)) {
  const numArray = numeroConta.split('').map(Number);

  // Calcula a soma dos dígitos no número de conta
  const sum = numArray.reduce((a, b) => a + b, 0);

  // Verifica se o primeiro dígito é maior que zero e a soma dos dígitos é menor ou igual a 30
  if (numArray[0] > 0 && sum <= 30) {
    // Se a condição acima for verdadeira, imprime a mensagem de número de conta válido:
    document.getElementById("res").innerText = "Numero de conta valido.";
    
  } else {
    // Verifica se o numArray[0] referente ao primeiro dígito é igual a zero :
    if (numArray[0] === 0) {
      // Se o primeiro dígito for igual a zero, imprime a mensagem de número de conta inválido por causa do primeiro dígito:
       document.getElementById("res").innerText = "Numero de conta invalido: O primeiro digito deve ser maior que zero.";
    } else {
      // Caso contrário, imprime a mensagem de número de conta inválido devido à soma dos dígitos ser maior que 30:
       document.getElementById("res").innerText = "Numero de conta invalido: A soma dos digitos e maior que 30.";
    }
  }
} else {
  // Se o número de conta não tiver exatamente 6 dígitos, imprime uma mensagem de erro:
   document.getElementById("res").innerText = "Numero de conta invalido: Deve conter exatamente 6 digitos.";
}
  
}

inputBtn.addEventListener("click", getInputVal);