当前位置:嗨网首页>书籍在线阅读

39-解决方案

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

10.9.2 解决方案

onlyNumbers 类寻找所有元素,并监听 keydownblue 事件。 keydown 事件处理器将阻止用户在字段中输入非数字字符。 blur 事件处理器是一个防范措施,清除任何通过上下文菜单或者浏览器“编辑”菜单中的粘贴功能输入的数据:

$('.onlyNumbers').bind('keydown',function(event){
   //按键的keycode
   var keyCode = event.which;
   // 48~57标准键盘的数字键
   var isStandard = (keyCode > 47 && keyCode < 58);
   // 96~105扩展键盘的数字键(也称小键盘)
   var isExtended = (keyCode > 95 && keyCode < 106);
   // 8 Backspace, 46向前删除
   // 37左箭头, 38上箭头, 39右箭头, 40下箭头
   var validKeyCodes = ',8,37,38,39,40,46,';
   var isOther = ( validKeyCodes.indexOf(',' + keyCode + ',') > −1 );
   if ( isStandard || isExtended || isOther ){
     return true;
   } else {
     return false;
   }
}).bind('blur',function(){
   //匹配非数字字符的正则表达式
   var pattern = new RegExp('[^0-9]+', 'g');
   var $input = $(this);
   var value = $input.val();
   //用正则表达式清除字段值
   value = value.replace(pattern, '');
   $input.val( value )
});