使用 Javascript 在 keyPress 事件上验证数值





0/5 (0投票)
比起使用验证控件,使用 javascript 函数来验证数值更好。我们可以限制文本框只允许
比起使用验证控件,使用 javascript 函数来验证数值更好。
我们可以使用 javascript 函数来限制文本框只允许输入数值。
这些函数将通过使用键盘上每个按键的键码来阻止用户输入非数值,从而防止用户在相应字段中输入非法值。
function blockNonNumbers(obj, e, allowDecimal, allowNegative)
{
var key;
var isCtrl = false;
var keychar;
var reg;
if(window.event) {
key = e.keyCode;
isCtrl = window.event.ctrlKey
}
else if(e.which) {
key = e.which;
isCtrl = e.ctrlKey;
}
if (isNaN(key)) return true;
keychar = String.fromCharCode(key);
// 检查是否为退格键或删除键,或者是否按下了 Ctrl 键
if (key == 8 || isCtrl)
{
return true;
}
reg = /\d/;
var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
return isFirstN || isFirstD || reg.test(keychar);
}