Javascript事件按键检查字符代码

Javascript event keypress check for Char Code

本文关键字:字符 代码 检查 事件 Javascript      更新时间:2023-09-26

语句:我有一个输入字段。用户只在其中输入数字。允许的最大值为500。所以,如果用户试图键入一个大于500的值,他应该无法键入该值。

例如:

  1. 如果用户尝试输入600或700,则百位最大值将为5
  2. 如果用户键入5作为第一个数字(百位),则"十位和单位"位置的最大值为0

PS:用户只输入数字的处理已经使用以下代码片段完成:

 function isNumberKey(evt){
 var charCode = (evt.which) ? evt.which : event.keyCode;
         if (charCode > 31 && (charCode < 48 || charCode > 57))
              return false;
              return true;
          };

修复问题:

   function isNumberKey(evt){
     var charCode = (evt.which) ? evt.which : event.keyCode;
     if (charCode > 31 && (charCode < 48 || charCode > 57))
       return false;
     if(!(charCode > 31 && (charCode < 48 || charCode > 57)) && charCode != 8){
      if($(evt.currentTarget).value.length == 3){
                   return false;
        }
   if($(evt.currentTarget).value.length == 2){
    if($(evt.currentTarget).value.substring(0,1) > 5){
               return false;
     }else if($(evt.currentTarget).value.substring(0,1) == 5 && $(evt.currentTarget).value.substring(1,2) > 0 ){
    return false;
      }
       }
   }
      return true;
   };

据我所知,您可以使用onchange而不是按键:

$('#textbox').change( function(){
   elem = $(this);
   if(parseInt(elem.val()) > 500)
      elem.val('500');
});