search

Home  >  Q&A  >  body text

javascript - js如何实现一个文本框只能输入数字 且是100的倍数

js如何实现一个文本框只能输入数字 且是100的倍数?

怪我咯怪我咯2896 days ago482

reply all(4)I'll reply

  • 大家讲道理

    大家讲道理2017-04-10 15:22:12

    phpvar a = 123,b = 200;
    /\d/.test(a) && a % 100 == 0;//false
    /\d/.test(b) && b % 100 == 0;//true
    

    reply
    0
  • 黄舟

    黄舟2017-04-10 15:22:12

    用keydown过滤掉数字以外的,然后再乘100

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:22:12

    <input  id="num" onkeydown="onlynum();"/>
    
    
            <script>
    
                    function onlynum(){
                        if ( ! ((event.keyCode >= 48 && event.keyCode <= 57 ) || (event.keyCode >= 96 && event.keyCode <= 105 ) || (event.keyCode == 8 )))
                            event.returnValue = false ;
                      }
    
            </script>
    

    没写100的倍数,但是应该差不多是这个样子。
    但是为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which.

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:22:12

    ===差不多就是这个样子,自己试一下吧====

    <!DOCTYPE html>
    <html>
    <head>
        <title>Number Entry</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
    
    
    <script>
    
    $(function(){
        var keyupTimeout;
        $('#numberEntry').on("keyup",function(ev){
            var keycode = ev.which;//keycode就是按键的编码
            var currentValue=$('#numberEntry').val();
            currentValue=parseInt(currentValue,10)||0;
            currentValue=currentValue/100;
            clearTimeout(keyupTimeout);
            if((!(keycode>=48&&keycode<=57)||(keycode>=96&&keycode<= 105))&&(keycode!==8)){
                $('#numberEntry').val($('#numberEntry').val().substring(0,$('#numberEntry').val().length-1));
                return;
            }
            keyupTimeout=setTimeout(function(){
                    if((keycode>=48&&keycode<=57)||(keycode>=96&&keycode<= 105)||keycode==8){
                        if(Math.floor(currentValue) !== currentValue){
                            $('#numberEntry').val('');
                        }
                    }
                },400);
        });
    
    });
    </script>
    
    
    </head>
    
    <body>
    
    输入数字且是100的整数倍:
    <input type="text" value="" id="numberEntry">
    
    
    
    </body>
    </html>
    

    reply
    0
  • Cancelreply