原型.将输入限制为数字
Prototype. Restrict input to numbers
>我有多个输入,我正在附加事件侦听器,该侦听器侦听按下的键,使用正则表达式对其进行测试,如果数字返回true,如果其他字符返回false。问题是即使我的测试函数返回 false,输入也接受字母。
$$(".number").each(function (element) {
return $(element).observe("keypress", function (event) {
return /['d's]/.test(String.fromCharCode(event.keyCode));
});
});
JS垃圾桶上的示例。
您正在使用原型JS,据我所知,它不允许使用return false
来取消事件传播和默认行为(就像jQuery一样)。虽然它有Event.stop(event)
方法
$$(".number").each(function (element) {
return $(element).observe("keypress", function (event) {
var result = /['d's]/.test(String.fromCharCode(event.keyCode));
if (!result) {
Event.stop(event);
}
});
});
Event.stop(event)
您可以通过在 keyup 上测试值来执行此操作,然后删除输入的内容(如果它与您想要的模式不匹配):
$$(".number").each(function (element) {
return $(element).observe("keyup", function (event) {
var val = this.value
if(!/['d's]/.test(String.fromCharCode(event.keyCode))){
this.value = val.substring(0, val.length - 1);
}
});
});
相关文章:
- 是否可以在数字输入框中的小按钮中添加事件侦听器
- 用于数字输入的正则表达式
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 敲除:如何对两个数字输入进行双向绑定
- 在数字输入上按回车键时提交
- 如何显示正好 2 位数字的 html 数字输入的输入值
- 如何使用鼠标或触摸更改数字输入字段
- 为数字输入添加特殊字符
- 在一些Android设备/Chrome上,HTML5数字输入中没有小数点
- 仅HTML输入除^之外的数字输入
- 如何处理 jQuery 中的数字输入更改
- 使用 js 禁用文本输入中的数字输入
- 角度JS数字输入和默认值
- 如何根据数字输入的总和限制数字输入
- 如何更改数字输入的格式
- 从给定的最大数字中减去并输出数字输入值
- 如何使此数字输入接受逗号
- 如何将加号和减号附加到数字输入和更新值
- 在我更改数字输入时获取要更改的范围的内容
- 多个数字输入,jquery .each 如果 val() 大于,则将类添加到元素