Как сделать так, чтобы в окне подсказки в JavaScript можно было вводить только цифры 0-9? - PullRequest
0 голосов
/ 19 сентября 2019

Мне нужно иметь возможность вводить только цифры от 1 до 9 в моем окне приглашения.На данный момент я могу ввести любой символ, который захочу, и он все равно будет работать.Как я могу ограничить это только номерами?Вот код, который у меня есть:

<html>
<head>
</head>
<body>

<button onclick="myFunction()">Start Game</button>
<button>Stop Game</button>
<br/>
<br/>
<p><font size="20">Your chosen number is:</font></p>
<span id="number"></span>
<br/>
<br/>
<p><font size="20">Your score so far is:</font></p>
<br/>
<span id="gamedisplay"></span>
<span id="gamedisplay2"></span>
<span id="gamedisplay3"></span>
<span id="gamedisplay4"></span>

<script>
function myFunction() {
var integer = prompt("Please enter an integer between 1 and 9");
if (integer != null) {
  document.getElementById("gamedisplay").innerHTML =
  Math.floor(Math.random() * 10);
  document.getElementById("gamedisplay2").innerHTML =
  Math.floor(Math.random() * 10);
  document.getElementById("gamedisplay3").innerHTML =
  Math.floor(Math.random() * 10);
  document.getElementById("gamedisplay4").innerHTML =
  Math.floor(Math.random() * 10);
 }
}
</script>



</body>
</html>

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019
function getNumber () {
  let someNumber = prompt('enter a number from 1 to 9');
  for(;;) {
    if (someNumber !== '' && typeof Number(someNumber) === 'number' && someNumber    < 10 && someNumber > 0){ 
    //do something here 
    return Number(someNumber);
}else{
    //do something else here
    someNumber = prompt('Please, enter a number from 1 to 9');
   } 
  }
}  

здесь я проверяю, что не пустая строка и тип ее значения является числом, и это число больше 0 и меньше 10;если все в порядке, я возвращаю значение и останавливаю цикл, если нет - спрашиваю еще раз номер

0 голосов
/ 19 сентября 2019

prompt возвращает строку, вам нужно проверить, является ли эта строка числом или нет. Number.isInteger может помочь или проверить регулярное выражение или parseInt ()?

...