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);