首页 > 解决方案 > 如何限制 html 数字输入(允许最小值到最大值和 0)

问题描述

我尝试限制一个 html 数字字段:

<input type="number" min="${userCount}" max="1500" th:value="${userLimit}" class="form-input" name="userLimit">

有了这个输入,我想设置我的 userLimt。因此,用户不应该能够在 userCount 之下设置 userLimit。这工作正常。我现在的问题是我还必须允许输入“0”,因为在这种情况下,“0”意味着 userLimit 已停用。所以我希望我的有效输入为 0,所有值从最小值到最大值。有没有办法做到这一点?我已经尝试使用正则表达式,但似乎这不适用于输入类型号。

标签: javascripthtmlformsvalidationinput

解决方案


你可以试试 JavaScript,这只是一个想法,不是一个完整的解决方案

    jQuery("#numberinput").on("change paste keyup", function() {
       var v= jQuery(this).val();
       var max=jQuery(this).attr('attr-max');
       var min=jQuery(this).attr('attr-min');
        jQuery('#error').text("")
       if(v < max)   jQuery('#error').text("enter small number")
       else if(v > min)   jQuery('#error').text("enter bing number")
          
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" id="numberinput" class="form-input" name="userLimit" attr-min="5" attr-max="20">
<span id="error" style="color : red"></span>


推荐阅读