gpt4 book ai didi

javascript - 表单域中只允许数字或小数点

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:16:16 25 4
gpt4 key购买 nike

我已经通过 js 将输入字段限制为仅数字,但我不确定如何也允许小数...

function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;

return true;
}

提前致谢!

回答:

function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46)
return false;

return true;
}

添加 charCode 46 效果很好(按键值)。 190 和 110 什么也没做。

感谢大家的帮助!

最佳答案

代码取决于您正在收听的事件,使用 JavaScript 事件 key 代码测试页面可以轻松找到您想要的内容 here带有测试输入,例如一个句号(右移的 . 左边)

               onKeyDown    onKeyPress    onKeyUp
event.keyCode 190 46 190
event.charCode 0 46 0
event.which 190 46 190

对于在数字键盘上是

               onKeyDown    onKeyPress    onKeyUp
event.keyCode 110 46 110
event.charCode 0 46 0
event.which 110 46 110

如您所见,使用 onKeyPresscharCode 检查是最统一的,这是它的 unicode 编号; String.fromCharCode(46);//".".

有一个full list on the MDN page for KeyboardEvent也有说明

Note: Web developers shouldn't use keycode attribute of printable keys in keydown and keyup event handlers. As described above, keycode is not usable for checking character which will be inputted especially when Shift key or AltGr key is pressed. When web developers implement shortcut key handler, keypress event is better event for that purpose on Gecko at least. See Gecko Keypress Event for the detail.

在我链接到的测试页面中,您可以观察到在 keyCode 上使用 AltGrShift 以及选择键的奇怪效果好吧。

关于javascript - 表单域中只允许数字或小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17583685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com