javascript - 在 JavaScript 中只允许数字

标签 javascript

<分区>

Possible Duplicate:
HTML Text Input allow only Numeric input

我用过这个脚本

function isNumberKey(evt)
  {
    var e = event || evt; // for trans-browser compatibility
    var charCode = e.which || e.keyCode;                        
    if (charCode > 31 && (charCode < 47 || charCode > 57))
    return false;
    if (e.shiftKey) return false;
    return true;
 }

但是这个脚本不能单独在 firefox 中运行。 在 javascript 中限制用户使用 shift 键的任何替代方法?

最佳答案

event 未在 Firefox 中定义,它破坏了您的代码。在测试 evt 之后放置它:

function isNumberKey(evt)
  {
    var e = evt || window.event; //window.event is safer, thanks @ThiefMaster
    var charCode = e.which || e.keyCode;                        
    if (charCode > 31 && (charCode < 47 || charCode > 57))
    return false;
    if (e.shiftKey) return false;
    return true;
 }

Fiddle

下次检查您的错误控制台。 :)

关于javascript - 在 JavaScript 中只允许数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114073/

相关文章:

javascript - JSON 对象(循环查询数据)不返回数据,但显示找到记录

javascript - 如何将 wp 插件中的 javascript 包含到网站上的所有页面?

javascript - 添加到 `WeakSet` 并设法破坏内存

javascript - Node.js 正确的回调错误句柄

javascript - 将变量从 Angular 2 构造器 then 语句传递到模板

javascript - JXCore Cordova => native Cordova 插件(无法访问 cordova.exec(...))

javascript - 正则表达式只允许 10 位以下的数字?

javascript - Controller 之间的 Angular js 通信

javascript - jQuery 翻转和 css :hover

javascript - Angular typeScript嵌套数组不可迭代?