【发布时间】:2014-03-26 07:17:36
【问题描述】:
在 html 上,我有一个输入框,我只想在其中输入数值。我使用了以下功能:
function allowNumbersOnly(event,locale) {
if(locale=='en' && (event.keyCode==190 || event.keyCode==110)){
return true;
}
else if(locale=='nl' && (event.keyCode==188 || event.keyCode==190 || event.keyCode==110)){
return true;
}
if(event.keyCode==189 || (event.keyCode==109) ){
return true;
}
var key = event.charCode || event.keyCode || 0;
// allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY
if (
key == 8 ||
key == 9 ||
key == 46 ||
(key >= 37 && key <= 40) ||
(key >= 48 && key <= 57) ||
(key >= 96 && key <= 105)){
}else{
event.preventDefault();
}
}
此代码运行良好。但是当我从键盘按shift key+ any number 时,会输入特殊字符。谁能告诉我如何解决这个问题?
【问题讨论】:
-
尝试使用html5模式属性
-
对于 HTML 5,使用 type="number"
标签: javascript