我正在创建一个网页,其中有一个输入文本字段,我只想在其中允许数字字符,例如(0,1,2,3,4,5 … 9)0-9。
我该如何使用jQuery?
注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。
在JSFiddle上 尝试一下。
对此没有原生的jQuery实现,但是您可以<input>
使用以下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演示。另请注意,您仍然
必须执行服务器端验证!
实际上并不需要jQuery,您也可以使用纯JavaScript做同样的事情。看到这个答案。
HTML 5提供了一个本机解决方案<input type="number">
(请参见规范),但是请注意,浏览器支持有所不同:
step
,min
和max
属性。e
并E
输入字段。也看到这个问题。在w3schools.com上尝试一下。
问题内容: 有没有一种快速的方法来将HTML文本输入()设置为仅允许数字键击(加’。’)? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 JavaScript 您可以使用以下功能过滤文本的输入值(支持CopyPaste,Drag+Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE9以后的所有浏览器 : 现在,您可以使用
问题内容: 有没有一种快速的方法来将HTML文本输入()设置为仅允许数字键击(加’。’)? 问题答案: 注意: 这是更新的答案。下面的注释指的是一个旧版本,其中充斥着密钥代码。 JavaScript 您可以使用以下功能过滤文本的输入值(支持Copy + Paste,Drag + Drop,键盘快捷键,上下文菜单操作,不可键入的键,插入标记的位置,不同的键盘布局以及IE 9以后的所有浏览器) : 现
如何验证只有2位数字的输入数字,并允许用户使用JQuery输入点数字? 用户可以输入0到99个数字和点数字 比如( 0.1(3位) 3.14(4位数字) 98.1212178623445243(更多数字) 等......) https://jsfiddle.net/kwcft9bq/ 我试着用 但最后还是不行 有什么想法吗???非常感谢。
问题内容: 如何只允许在数字中使用而已? 问题答案: 基本思想是: 使用受控组件(使用值和输入字段的onChange属性),并在onChange句柄内部检查输入的值是否为正确的数字。仅当输入的值是有效数字时才更新状态。 为此使用此 正则表达式 : onChange处理程序将为: 工作示例:
我有一个输入字段,用户只能在其中输入数字。 JSFIDLE演示 问题是:当我输入一个数字(例如,)然后按点()时,或-浏览器会自动删除输入字段的内容(值设置为“”=空字符串)。但是为什么呢?将类型从更改为似乎可以解决问题。但是,我失去了输入字段的向上/向下箭头功能。有什么想法吗?
问题内容: 如何将输入限制为文本框,使其仅接受数字和小数点? 问题答案: 这确实有效!