2014-05-18 22 views
-2

当用户按下一个键,我想删除不在范围0-9字符,但该代码不工作:(jsfiddleJQuery的:限制输入字符到0-9

$('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(); 
     } 
}); 

我做错了什么? 感谢

+1

我认为使用JQuery验证(ht tp://jqueryvalidation.org/)插件你可以做得更好...... –

+1

'keypress'事件在值更改前被触发 - 这就是为什么'txt'不会包含新值 –

回答