使用javascript接受1-999之间的值的文本框

Textbox to accept values between 1-999 using javascript

本文关键字:文本 之间 javascript 接受 1-999 使用      更新时间:2024-01-10

我想要一个文本框,它使用javascript接受1-999之间的数字值,并且必须使用keypress事件,因为uswr不应该被允许在文本框中输入o,但说foreg 106应该是一个允许的值。目前我可以重新限制0,然后它也不允许用户为以后的数字输入0,因为它不允许输入105我使用的是icefaces,所以这里不能使用html5,而且必须使用js和onkeypress事件来实现,因为用户甚至不允许输入值

我使用的代码片段如下onkeypress="if(event.which<49|| event.which>57)return false;

    <script>
     function valid(num){
        res = !isNaN(num)&&num>=1&&num<=999;
        if(!res)
         alert('Please enter a valid number from 1 to 999');
        return res;
      }
    </script>
    <input type='text' onchange='this.value=(valid(this.value)?this.value:"");this.focus();'> 

您不需要JavaScrip,可以使用HTML5。看看

<input type="number" min="0" max="999" step="1">

http://www.wufoo.com/html5/attributes/04-minmaxstep.html

使用此函数,

function isMyNumber(evt)
       {
          var charCode = (evt.which) ? evt.which : evt.keyCode;
          if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
             return false;
          }
          var num = parseInt(document.getElementById('txtNumber').value, 10);
          if(num < 0 || num > 999) {
            return false;
          }
          return true;
       }

类呼叫,

<input type="text" name="txtNumber" id="txtNumber" onkeypress="return isMyNumber(event);" />

希望这能奏效,谢谢。