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

时间:2015-02-19 07:19:21

标签: javascript

我希望有一个文本框,使用javascript接受介于1-999之间的数字值,并且必须使用keypress事件,因为uswr不应该被允许在文本框本身中输入o,但是说foreg 106应该是允许的值。目前我能够重新打0,然后它不允许用户为以后的数字输入0,因为它不允许输入105 我正在使用icefaces所以不能在这里使用html5而且必须实现使用js并使用onkeypress事件作为用户shud甚至不允许输入值

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

3 个答案:

答案 0 :(得分:0)

您不需要JavaScript,您可以使用HTML5。看那个

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

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

答案 1 :(得分:0)

使用此功能,

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);" />

希望这有效,谢谢。

答案 2 :(得分:0)

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