我有一个输入框,它接受0-100的值。我想阻止用户写任何更大或更小的东西。
我一直在使用jquery keyfilter插件来限制字段的输入:http://code.google.com/p/jquery-keyfilter/
这个插件可以将输入限制为数字,但不是在一个范围内。如何防止用户输入超出范围的数字。谢谢
我有一个输入框,它接受0-100的值。我想阻止用户写任何更大或更小的东西。
我一直在使用jquery keyfilter插件来限制字段的输入:http://code.google.com/p/jquery-keyfilter/
这个插件可以将输入限制为数字,但不是在一个范围内。如何防止用户输入超出范围的数字。谢谢
8条答案
按热度按时间628mspwn1#
像这样使用纯JavaScript:
然后像这样声明输入框:
因为你已经把这个函数挂接到了onchange(),所以即使用户复制/粘贴了一些东西到输入框中,它也会工作。
thtygnil2#
我建议使用jQuery Validation插件。非常灵活和可扩展。要处理范围查询,请执行以下操作。它将验证您的表单中标记有“百分比”类的任何输入是否存在并落在给定的范围内。
我建议使用该插件的原因是,它可以开箱即用地处理许多验证情况,减轻您为许多场景编写验证代码的责任-您可以以更好的方式花费您的创造性努力。它也被许多人使用,因此具有由大型社区改进的额外优势。
wydwbb8l3#
HTML5 added several new input types,包括
number
。旧版浏览器不支持的新输入类型将表现为
<input type="text">
。Runnable example来自W3Schools。
xdyibdwo4#
可以使用
Math.min()
和Math.max()
:有关详细信息,请参阅文档:
nxowjjhe5#
k2arahey6#
您只需要在每次击键之后和发送到字段之前测试字段的值(例如使用按键事件处理程序)-如果新的击键将创建太高的值,则拒绝按键。
例如,如果当前值为20,而用户试图键入第三个数字,则应通过从事件处理程序返回false来拒绝按键。基本上,您应该允许的唯一第三个字符是“0”,并且仅当当前字段值为“10”时。
rqenqsqc7#
通过jQuery来实现
如果数字不在0 - 100之间,则清空输入字段
pnwntuvh8#
如果只是字符数不超过20(例如),则可以使用
如果您需要处理输入字段中的一些其他情况,那么函数将是更好的选择。