在 JavaScript 中只允许数字
Allow only numbers in JavaScript
可能的重复项:
HTML 文本输入仅允许数字输入
我使用了这个脚本
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;
}
但是这个脚本不能单独在火狐中工作。有什么替代方法可以限制用户在 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;
}
小提琴
下次检查错误控制台。 :)
试试这段代码。
$(document).keydown(function (e) {
if (e.shiftKey) {
e.preventDefault();
}
});
检查小提琴..
http://jsfiddle.net/kabichill/8FgH4/
您可以使用jQuery限制任何按键(也可以限制其中的一组)
$(document).ready(function()
{
$('#PHONE_NUMBER').keypress(function(e) {
var a = [];
var k = e.which;
for (i = 48; i < 58; i++)
a.push(i);
a.push(8);
if (!(a.indexOf(k)>=0))
e.preventDefault();
});
});
其中 #phone 数字是输入元素的 id,for 循环和推送函数仅推送允许的字符。48 到 58 是键盘上数字 0-9 的关键值
相关文章:
- 如何确定乘以后将使您最接近目标数字的数字
- Javascript正则表达式,用被操纵的数字替换数字
- javascript变量数字大于数字乘以多少
- regex匹配数字逗号数字
- javascript if值为数字对数字
- 类型数字等于数字
- 创建带有(数字,数字)的javascript对象
- 正则表达式匹配数字码(数字、星号和锐)
- 如何防止数字使用数字1“E”数字2
- JS - Unity - 数字与数字的倍数
- 数字和数字对象有什么区别
- 将输入框限制为仅数字,数字键盘键不起作用
- 我如何修改这个JavaScript正则表达式来检查字符串是否是一个最多必须有2个十进制数字的数字
- 使用数字的数字作为数组
- 如何使用一键插入数字插入数字1 2 3,,,,K
- 从localStorage中提取数字作为数字
- 如何添加到一个数组在Javascript中插入一个数字和数字后移动到右边
- 在按下键时验证只有十进制数字的数字
- jQuery数字到数字滚动
- 如何找到一个数字的数字缩放到他们的位置