如何根据特定用户输入在JavaScript中显示警报

时间:2018-05-29 16:17:37

标签: javascript alert

当输入一个字母,一个逗号,减号,加号,括号,问号等时,我需要一个提示“请输入0到9之间的数字”(只能输入数字)。

我的警报无效,我无法连接 我在向你求助。

尝试在表格中输入字母,逗号等后,应显示警告,但数字除外

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>

<head>
  <script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
  <meta charset="utf-8">
</head>

<body>
  <script type="text/javascript">
    (function($) {
      $.fn.average = function() {

        var sum = 0;
        this.each(function() {
          sum += parseFloat($(this).val());
          //;
        });

        return sum / $(this).length;
      }

    })(jQuery);
    $(document).ready(function() {
      $(":reset")
    });


    $(document).ready(function() {
      $("#calc").click(function() {
        var s = $("input[type='number']").average();
        console.debug(s);
        $('#result').html(s);
      });
      $(".reset").on('click', function() {
        $("#result").html(" ");
      })
    });
  </script>

  <h1>Oblicz średnią:</h1>
  <form action="">
    <input onkeypress="if((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 44))return false" type="number"><br>
    <input onkeypress="if((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 44))return false" type="number"><br>
    <input onkeypress="if((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 44))return false" type="number"><br>
    <div id="result" type="reset"></div><br>
    <input type="button" id="calc" value="Licz">
    <input type="reset" value="Reset" class="reset">
  </form>

  <script>
    function setTimeout(function() {}, 10);
    () {
      confirm("Press a button!");
    }
  </script>

</body>

</html>

1 个答案:

答案 0 :(得分:0)

使用Input type="number" with pattern="[0-9]*" allows letters in firefox作为参考。

因此,在regex的帮助下,您可以阻止不同的输入类型。因此,在onkeypress方法上使用以下函数:

<input onkeypress="preventNonNumericalInput(event)" type="number">

然后在js文件中声明此功能:

function preventNonNumericalInput(e) {
  e = e || window.event;
  var charCode = (typeof e.which == "undefined") ? e.keyCode : e.which;
  var charStr = String.fromCharCode(charCode);

  if (!charStr.match(/^[0-9]+$/)){
    alert("Enter a digit from 0 to 9 please")
    e.preventDefault();
  }
}