方法1:
// 只可以输入数字(0-9)
sofia.numOnly = function(ev) {
var keyValue ;
var returnValue = true ;
//Alt有效
if (ev.altKey) {
return true;
}
try {
//86-->v 45-->insert 67-->c 设置组合键无效(比如无法粘贴复制(ev.keyCode == 86 && ev.ctrlKey))
if ( (ev.keyCode == 86 && ev.ctrlKey) ||
(ev.keyCode == 45 && ev.shiftKey) ||
(ev.keyCode == 67 && ev.ctrlKey) ) {
return false;
}
keyValue = ev.which;
if (ev.metaKey == true) {
returnValue = true;
} else {
if (keyValue == 48) {returnValue = true;} //键盘上部 0
else if (keyValue == 49) {returnValue = true;} //键盘上部 1
else if (keyValue == 50) {returnValue = true;} //键盘上部 2
else if (keyValue == 51) {returnValue = true;} //键盘上部 3
else if (keyValue == 52) {returnValue = true;} //键盘上部 4
else if (keyValue == 53) {returnValue = true;} //键盘上部 5
else if (keyValue == 54) {returnValue = true;} //键盘上部 6
else if (keyValue == 55) {returnValue = true;} //键盘上部 7
else if (keyValue == 56) {returnValue = true;} //键盘上部 8
else if (keyValue == 57) {returnValue = true;} //键盘上部 9
else if (keyValue == 96) {returnValue = true;} //0
else if (keyValue == 97) {returnValue = true;} //1
else if (keyValue == 98) {returnValue = true;} //2
else if (keyValue == 99) {returnValue = true;} //3
else if (keyValue == 100) {returnValue = true;} //4
else if (keyValue == 101) {returnValue = true;} //5
else if (keyValue == 102) {returnValue = true;} //6
else if (keyValue == 103) {returnValue = true;} //7
else if (keyValue == 104) {returnValue = true;} //8
else if (keyValue == 105) {returnValue = true;} //9
else if (keyValue == 8) {returnValue = true;} //Back Space
else if (keyValue == 37) {returnValue = true;} //Left
else if (keyValue == 39) {returnValue = true;} //Right
else if (keyValue == 36) {returnValue = true;} //Home
else if (keyValue == 35) {returnValue = true;} //End
else if (keyValue == 46) {returnValue = true;} //Del
else if (keyValue == 9) {returnValue = true;} //Tab
else if (keyValue == 27) {returnValue = true;} // ESC
else if (keyValue == 13) {returnValue = true;}
else {
ev.returnValue = false;
returnValue = false;
}
}
} catch (e) {
;
}
return returnValue;
}
方法2:
// 只可以输入数字(0-9)
sofia.numOnly = function(ev) {
var keyValue ;
var returnValue = true ;
//Alt有效
if (ev.altKey) {
return true;
}
try {
//86-->v 45-->insert 67-->c 设置组合键无效(比如无法粘贴复制(ev.keyCode == 86 && ev.ctrlKey))
if ( (ev.keyCode == 86 && ev.ctrlKey) ||
(ev.keyCode == 45 && ev.shiftKey) ||
(ev.keyCode == 67 && ev.ctrlKey) ) {
return false;
}
keyValue = ev.which;
if (ev.metaKey == true) {
returnValue = true;
} else {
if ( (keyValue >= 48) && (keyValue <= 57) ) {returnValue = true;} // 0~9
else if ( (keyValue >= 96) && (keyValue <= 105) ) {returnValue = true;} // テンキー 0~9
else if (keyValue == 8) {returnValue = true;} //Back Space
else if (keyValue == 37) {returnValue = true;} //Left
else if (keyValue == 39) {returnValue = true;} //Right
else if (keyValue == 36) {returnValue = true;} //Home
else if (keyValue == 35) {returnValue = true;} //End
else if (keyValue == 46) {returnValue = true;} //Del
else if (keyValue == 9) {returnValue = true;} //Tab
else if (keyValue == 27) {returnValue = true;} // ESC
else if (keyValue == 13) {returnValue = true;}
else {
ev.returnValue = false;
returnValue = false;
}
}
} catch (e) {
;
}
return returnValue;
}
可以输入小数:
// 只可以输入数字(0-9)
sofia.numOnly = function(ev) {
var keyValue ;
var returnValue = true ;
//Alt有效
if (ev.altKey) {
return true;
}
try {
//86-->v 45-->insert 67-->c 设置组合键无效(比如无法粘贴复制(ev.keyCode == 86 && ev.ctrlKey))
if ( (ev.keyCode == 86 && ev.ctrlKey) ||
(ev.keyCode == 45 && ev.shiftKey) ||
(ev.keyCode == 67 && ev.ctrlKey) ) {
return false;
}
keyValue = ev.which;
if (ev.metaKey == true) {
returnValue = true;
} else {
if( (keyValue >= 48) && (keyValue <= 57) ){returnValue = true;} // 0~9
else if ( (keyValue >= 96) && (keyValue <= 105) ){returnValue = true;}// テンキー 0~9
else if ( keyValue == 110) {returnValue = true;}// テンキー[.]
else if ( keyValue == 190) {returnValue = true;}// .
else if (keyValue == 8) {returnValue = true;} //Back Space
else if (keyValue == 37) {returnValue = true;} //Left
else if (keyValue == 39) {returnValue = true;} //Right
else if (keyValue == 36) {returnValue = true;} //Home
else if (keyValue == 35) {returnValue = true;} //End
else if (keyValue == 46) {returnValue = true;} //Del
else if (keyValue == 9) {returnValue = true;} //Tab
else if (keyValue == 27) {returnValue = true;} // ESC
else if (keyValue == 13) {returnValue = true;}
else {
ev.returnValue = false;
returnValue = false;
}
}
} catch (e) {
;
}
return returnValue;
}