首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不允许用户输入除1到999以外的任何值,包括小数。

不允许用户输入除1到999以外的任何值,包括小数。
EN

Stack Overflow用户
提问于 2016-06-14 00:23:27
回答 3查看 119关注 0票数 2

我希望允许用户在输入框中输入1到999之间的值。

我尝试了以下方法

代码语言:javascript
运行
复制
<input name="quantity" class="numbers" value=""/>

$('.numbers').keypress(function (e) {
    var value = parseInt($(this).val());
    if (value <= 0 || value > 999) {
        return false;
    }
    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
        return false;
    }
});

这不起作用,当我输入零值时,我被卡住了,这里是https://jsfiddle.net/kcet86s8/4/小提琴的链接。

我哪里出问题了?

EN

Stack Overflow用户

发布于 2016-06-14 00:52:26

您可以使用<input type="number">元素、带有参数0, -1input事件String.prototype.slice()删除input值的最后一个字符,如果在第一个if条件下使用valueAsNumber属性代替parseInt()

代码语言:javascript
运行
复制
$(document).ready(function() {
  $(".numbers").on("input", function(e) {
    var value = this.valueAsNumber;
    if (value <= 0 || value > 999) {
      this.value = this.value.slice(0, -1);
    }
    // if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
    //     return false;
    // }
  });
});
代码语言:javascript
运行
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
</script>
<input name="quantity" type="number" class="numbers" value="" />

jsfiddle https://jsfiddle.net/kcet86s8/5/

票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37801127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档