【问题标题】:How to allow -999 to 999 numbers only in input box in JavaScript with keypress event?如何仅在带有按键事件的 JavaScript 输入框中允许 -999 到 999 数字?
【发布时间】:2019-10-11 08:37:22
【问题描述】:

我正在尝试通过按键事件将我在 javascript 中的输入框限制为只有 -999 到 999 的数字。但不知何故,这失败了,有人可以帮我解决这个问题。这是我迄今为止尝试过的:-

if(((event.originalEvent.target.value.indexOf("-") > -1) && event.originalEvent.target.value.length === 4) || ((event.originalEvent.target.value.indexOf("-") < 0) && event.originalEvent.target.value.length === 3)) {
    event.preventDefault();
}

【问题讨论】:

  • 你想达到什么目的?
  • 我想要一个输入文本框,用户只能在其中输入数字,也可以输入从 -999 到 999 的数字。我不能使用最小范围和最大范围的数字类型。

标签: javascript input keypress


【解决方案1】:

使用类似的东西

<input type="number" name="yourName" min="-999" max="999">

【讨论】:

    【解决方案2】:

    你可以试试这样的:

    <script>
    function allowRange(min, max, input) {
       if(input.value == '-' || (isNaN(input.value) == false && parseInt(input.value) >= min && parseInt(input.value) <= max)) {
       //do nothing
       }
       else {
          input.value = '';
       }
    }
    </script>
    
    <input type="text" oninput="allowRange(-999, 999, this);">
    

    它会自动删除任何不在范围内的输入。

    【讨论】:

    • 如果不在范围内,则删除输入。我不想擦除,如果输入变为 999 就阻止用户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 2019-02-09
    • 2016-07-12
    • 1970-01-01
    相关资源
    最近更新 更多