Estoy tratando de hacer que el usuario seleccione ciertos números de un prompt , la entrada vacía devuelve el mensaje de alert , pero no tengo idea de cómo recibir un mensaje de alert cuando el usuario elige un número que es menor que 8 o mayor que 128 . ¡Gracias!
var passwordLength = function () { //parseInt convert a string into an integer var charLength = parseInt(prompt("How many characters would you like your password to be? Please choose a number from (8-128)")); if (!(charLength > 8 || charLength < 128 || charLength === " ")) { alert("Please choose a number from (0-128)"); return passwordLength(); } };Tu condicional está en mal estado.
Tiene que ser cualquiera
!(charLength > 8 || charLength < 128 || charLength !== "")o
(charLength < 8 || charLength > 128 || charLength === "") Tenga en cuenta también que, en todo caso, necesitaría usar cadenas vacías , no cadenas con un espacio en ellas. Pero no veo ninguna razón real para eso: parseInt devolverá un número o NaN , por lo que, como sugiere LW001, es posible que desee usar isNaN en su lugar.
Usar
if (charLength < 8 || charLength > 128 || isNaN(charLength)) { alert("Please choose a number from (8-128)"); return passwordLength(); }Su condición fue negada (!), Eliminar eso funcionó (O podría cambiar las comparaciones). Además, para verificar si la entrada no es un número, recomendaría isNaN en lugar de verificar una cadena vacía, verificó un espacio por accidente que podría volverse incómodo y difícil de encontrar.