【发布时间】:2009-04-07 05:22:03
【问题描述】:
我正在尝试实现一个 javacript 函数,该函数不允许用户输入除浮点数(数字)以外的任何内容
这是我的方法,但我不知道如何改进它以允许提交负数(允许“-”键)并在 IE 上工作。
function digits_only(evt, form) {
var evt = evt || window.event,
targ = evt.target || evt.srcElement,
charCode = evt.which || evt.keyCode,
keyChar = String.fromCharCode(charCode),
isValid = true;
if (charCode > 13) {
isValid = /[0-9.]/.test(keyChar);
//if a dolt is already in input
if (keyChar === '.' && /\./.test(targ.value)) {
isValid = false;
}
}
return isValid;
}
【问题讨论】:
-
嗨,这是一个好方法吗?如果用户将一些文本复制或拖动到输入框中会发生什么。我认为您最好对提交事件进行验证。
-
是的,也应该添加验证,但他现在要求的是限制输入
-
但您无法确定用户输入的方式。他可以输入、粘贴甚至拖动一些文本。
-
+1。不要干扰用户的输入,这很烦人,并且没有涵盖更改字段的所有可能方式。
-
客户端更便宜...我也会在提交时进行验证
标签: javascript parsing