一个非常简单的jquery实现
$('input[type=number]').keydown(function (e) {
if (e.keyCode < 48 || e.keyCode > 57) {
return false;
}
});
但是这个东西治标不治本,如果用户用复制粘贴功能或者用鼠标操作,都可以绕过去,你还需要做一个实时检测,及时把不合法的输入去掉
var lastVal;
setInterval(function () {
var input = $('input[type=number]'), val = input.val();
if (lastVal != val) {
input.val(val.replace(/[^\d]+/g, ''));
lastVal = val;
}
}, 100);