【发布时间】:2021-08-28 22:41:51
【问题描述】:
我正在使用以下 Javascript 将我网站上的文本字段限制为仅接受数字输入,不接受其他字母或字符。问题是,它真的拒绝所有其他键输入,例如 ctrl-A 来选择文本,甚至拒绝任何其他浏览器功能,例如 ctrl -T 或 ctrl-W 选择文本框时。有谁知道更好的脚本只允许数字输入,但不阻止正常命令(不直接输入到字段中)?谢谢 这是我现在使用的代码:
function numbersonly(e, decimal)
{
var key;
var keychar;
if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
return true;
else if ((("0123456789").indexOf(keychar) > -1))
return true;
else if (decimal && (keychar == "."))
return true;
else
return false;
}
编辑:所提供的解决方案都没有解决我在选择文本框时允许像 ctrl-A 这样的命令的问题。这就是我在这里询问的重点,所以我又回到了使用我原来的脚本。哦,好吧。
【问题讨论】:
-
如果您对使用 HTML 5 感到满意,但实现不完善,表单类型
<input type="number" />可以工作。 -
我希望我可以使用 HTML 5。这是我的第一个想法,它会为我节省很多查找 javascript 的时间:-p 无论如何,谢谢
标签: javascript html textbox numbers textfield