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

142
Visualizações
¿Por qué la variable aleatoria solo devuelve 1 carácter?

Hola chicos, estoy tratando de generar una contraseña aleatoria usando teclas mayúsculas y minúsculas + números. el código parece funcionar, pero en lugar de devolver 20 caracteres, solo devuelve 1. El retorno parece aleatorio. El elemento debe ser reemplazado por la contraseña aleatoria cada vez que se hace clic en el botón.

HTML

 <button id = "button5" onclick = "password()">Generate password </button> <p4 id = "p4" > Your password will apear here </p4>

Este es el JavaScript

 function password (length ) { var ranpassword = ""; var chara = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" var charalength = chara.length // there is an outside variable defining charalength = ""; I could not include that here for (var i = 0; <length ; i++) { ranpassword += chara.charAt(Math.floor(Math.random() * chara.length)); return ranpassword; } document.getElementById("p4").innerHTML = "hello there " + ranpassword; console.log(password(20)); }

cada vez que se hace clic en el botón, se devuelve una letra aleatoria en console.log y parece que no puedo entender por qué. puede alguien decirme por que? Cualquier ayuda sería genial. Gracias :)

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Hiciste algún error. Prueba este código,

 function password (length) { let ranpassword = "", chara = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ", charalength = chara.length; for (var i = 0; i<length ; i++) { ranpassword += chara.charAt(Math.floor(Math.random() * chara.length)); } document.getElementById("p4").innerHTML = "hello there " + ranpassword; }
 <button id = "button5" onclick="password(20)">Generate password </button> <p4 id = "p4" > Your password will apear here </p4>

about 4 years ago · Juan Pablo Isaza Relatório

0

Aparte de la implementación de la función de password en parte incorrecta, no está pasando una length a la función de password() en su controlador onclick .
Debe pasar la length y la password(20) :

 <button id = "button5" onclick = "password(20)">Generate password </button>
about 4 years ago · Juan Pablo Isaza Relatório

0

como dijo @Locke, su sintaxis de bucle for es incorrecta, ya que le falta i en la comparación. Aparte de eso, su código está inundado de errores tipográficos. No cerró el bucle for y no necesitaba devolver ranpassword . Ahora que su código funciona, observe que el número que puse como parámetro en el clic en el HTML es la longitud que tendrá su contraseña. Además, en lugar de usar .chatAt , genero un número aleatorio y lo agrego a ranpassword . Por ejemplo: el bucle for obtiene chara[4], por lo que randpassword tiene la quinta letra de chara.

 function password(length) { var ranpassword = ""; var chara = "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" var charalength = chara.length // there is an outside variable defining charalength = ""; I could not include that here for (var i = 0; i < length; i++) { ranpassword += chara[(Math.floor(Math.random() * chara.length))]; } document.getElementById("p4").innerHTML = "hello there " + ranpassword; }
 <button id = "button5" onclick = "password(4)">Generate password </button> <p4 id = "p4" > Your password will apear here </p4>

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