仅包含比较运算符和数字的条件 JavaScript

Conditions with comparison operators and numbers only JavaScript

我希望用户输入一个数字。如果数字在 1 到 100 之间,我会用消息“很好”来提醒。如果输入小于 1 且大于 100,我会提醒“请输入 1-100 之间的数字。 我在这里遇到两个问题:

  1. 我的比较运算符条件不起作用。无论我输入大于 100 还是小于 100 的数字,我仍然会收到相同的消息。我只是想知道是否有人可以指出错误在哪里。

  2. 第二个问题是我连字母都可以输入。当我输入字母时,它只会转到第二条警告消息“请输入 1-100 中的数字”。

让用户只输入数字而不是字母或其他符号,并提醒他们只输入数字的最简单方法是什么。

 var userInput = prompt('Enter a number'); // asking user to input a number

  if (userInput<=100 || userInput>=1) {
  alert ('Great !');}
if(userInput <1 && userInput > 100);
{
  alert('Please, only numbers betwen 1-100'); }

尝试做这样的事情

const userInput = prompt('Enter a number')

if (userInput >= 1 && userInput <= 100) {
    alert('Great!')
} else {
    alert('Please, only numbers betwen 1-100')
}

提示框始终是字符串输入,不能改成数字。如果你只想输入数字,你可以使用 <input type="number" />。但是使用提示框,您可以编写代码,如果用户输入不是数字,它会警告 Input was not a number 并再次要求输入。另外,您的代码中有错误。数字不能小于 1 并且 不能大于 100。所以最后,您的代码将如下所示。

function getusrin() {
    var usrin = parseInt(prompt("Enter a number : ", "1"));
    while (isNaN(usrin)) {
        alert("Input was not a number");
        usrin = parseInt(prompt("Enter a number : ", "1"));
    }
    return usrin;
}
var usrin = getusrin();
while (usrin < 1 || usrin > 100) {
    alert("Please, only numbers betwen 1-100");
    usrin = getusrin();
}
alert("Great!");