如何使用jQuery限制用户输入仅允许0-3的数字?
解决方案
你只需在现有数字校验逻辑的基础上,进一步限制输入字符的编码范围,只允许对应数字0-3的ASCII码(48到51)即可,同时保留对控制键(如退格、方向键)的支持。
修改后的jQuery代码
$(document).on("keypress", ".form-control", function(evt) { evt = evt || window.event; var charCode = evt.which || evt.keyCode; // 仅允许ASCII码48(0)-51(3)的数字,或控制键(如退格) if (charCode > 31 && (charCode < 48 || charCode > 51)) { return false; } return true; });
对应Input标签
<input data-src='ROOF_ASSEMBLY' class="form-control" type="text" maxlength="1">
可选:处理粘贴场景
如果要防范用户通过粘贴输入不符合要求的内容,可以额外添加input事件监听,自动过滤无效内容:
$(document).on("input", ".form-control", function() { // 仅保留0-3的数字 this.value = this.value.replace(/[^0-3]/g, ''); // 确保长度不超过1位 if (this.value.length > 1) { this.value = this.value.slice(0, 1); } });
内容的提问来源于stack exchange,提问作者ProfoundHypnotic
相关产品推荐
相关产品推荐

