当用户按下某个键时,我想删除不在0-9范围内的字符,但此代码不起作用:(jsfiddle)
$('input').on('keypress', function(event){
var char = String.fromCharCode(event.which)
var txt = $(this).val()
if (!txt.match(/^[0-9]*$/)){
var changeTo = txt.replace(char, '')
$(this).val(changeTo).change();
}
});
我做错了什么? 感谢
答案 0 :(得分:1)
更新了小提琴:
$('input').on('keypress', function(event){
if (event.keyCode < 48 || event.keyCode > 57)
return false;
});
但是正如Mikk3lRo指出的那样,stackoverflow上已经有了更好的答案,因为你应该允许删除键,所以用户可以纠正输入:
How to allow only numeric (0-9) in HTML inputbox using jQuery?