Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

81
Visualizações
Cómo tener 3 condiciones dentro de la declaración if para la entrada del usuario JavaScript

JavaScript: quiero verificar si la entrada del usuario cumple con 3 condiciones en una declaración if. No sé cómo hacer && y | trabajar en una sola sentencia if. tengo el | después de la primera condición, pero el && no se tiene en cuenta y puedo dejar el cuadro de entrada vacío y aún así me redirigirá a la página. Probé de varias maneras pero no conseguí que funcionara. Por favor ayuda y gracias de antemano.

JavaScript

 function valForm() { var firstVal = document.getElementById("nextId").value; var secondVal = document.getElementById("licenseId").value; if ( (firstVal == "MB3804") | (firstVal == "mb3804") && (secondVal.length == 6) | 7 ) { window.location.href = "google.com"; } }

HTML

 <input type="text" placeholder="License Plate" id="licensed" autocomplete="off" /> <input type="text" placeholder="Ticket ID" id="nextId" autocomplete="off" /> <button class="btn btn-primary display-4" type="button" onclick="valForm()">next</button>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

if ( (firstVal == "MB3804") | (firstVal == "mb3804") && (secondVal.length == 6) | 7 )

probablemente debería ser

 if ( (firstVal === "MB3804" || firstVal == "mb3804") && (secondVal.length === 6 || secondVal.length === 7) )

Hay algunas cosas que notar aquí:

  • El uso de === en lugar de == : consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness
  • El uso de || ( el OR lógico ) en lugar de | ( el OR bit a bit )
  • La colocación de paréntesis ayuda a aclarar el orden de las operaciones.

El comentario anterior de paulsm también es bastante válido y podría usar una comparación de cadenas que no distingue entre mayúsculas y minúsculas en lugar de 2 comparaciones separadas si eso tiene sentido en su caso. Por supuesto, si desea que la condición tenga éxito para MB3804 y mb3804 pero falle para Mb3804 y mB3804 , entonces la comparación de cadenas que no distingue entre mayúsculas y minúsculas no será apropiada, pero si los cuatro casos se consideran "buenos", entonces tiene mucho sentido y

 if (firstVal === "MB3804" || firstVal === "mb3804") {...}

podría reescribirse como

 if (firstVal.toLowerCase() === "mb3804") {...}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda