注册
登录
测试训练
如何使用jQuery在HTML输入框中仅允许数字(0-9)?
返回
如何使用jQuery在HTML输入框中仅允许数字(0-9)?
作者:
狗头军师
发布时间:
2024-12-27 08:00:25 (7天前)
我正在创建一个网页,其中有一个输入文本字段,我只允许在其中输入数字字符,例如(0,1,2,3,4,5 … 9)0-9。
如何使用jQuery完成此操作?
收藏
举报
2 条回复
1#
回复此人
v-star*위위
|
2020-08-23 10-14
jQuery的 在JSFiddle上尝试一下。 对此没有本地jQuery实现,但是您可以
使用以下inputFilter插件过滤文本的输入值(支持Copy + Paste,Drag + Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入符号位置,其他键盘布局以及IE 9以后的所有浏览器): ``` // Restricts input for the set of matched elements to the given inputFilter function. (function($) { $.fn.inputFilter = function(inputFilter) { return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() { if (inputFilter(this.value)) { this.oldValue = this.value; this.oldSelectionStart = this.selectionStart; this.oldSelectionEnd = this.selectionEnd; } else if (this.hasOwnProperty("oldValue")) { this.value = this.oldValue; this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd); } else { this.value = ""; } }); }; }(jQuery)); ``` 现在,您可以使用inputFilter插件安装输入过滤器: ``` $(document).ready(function() { $("#myTextBox").inputFilter(function(value) { return /^\d*$/.test(value); // Allow digits only, using a RegExp }); }); ``` 有关更多输入过滤器示例,请参见JSFiddle演示。另请注意,您仍然必须进行服务器端验证! 纯JavaScript(无jQuery) 实际上并不需要jQuery,您也可以使用纯JavaScript做同样的事情。看到这个答案。 HTML 5 HTML 5提供了本机解决方案
(请参见规范),但请注意,浏览器支持有所不同: 大多数浏览器仅在提交表单时验证输入,而不在输入时验证输入。 大多数移动浏览器不支持step,min和max属性。 Chrome(版本71.0.3578.98)仍然允许用户输入字符e并E输入字段。也看到这个问题。 Firefox(版本64.0)和Edge(EdgeHTML版本17.17134)仍然允许用户在字段中输入任何文本。 在w3schools.com上尝试一下。
编辑
登录
后才能参与评论