如何让HTML输入标签只接受数字? [英] How to make HTML input tag only accept numbers?

查看:136
本文介绍了如何让HTML输入标签只接受数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使 HTML 输入标签只接受数字?




  • 我需要确保输入字段仅将数字作为输入
    的值。

  • 我希望用户无法输入任何其他
    以外的字符。



  • $ b 我使用的是 Meteor Js 。并且代码如下所示。

      App.html 

    < head>
    < title App< / title>
    < / head>

    < body>
    {{> main}}

    < / body>

    < template name =main>
    < h1>欢迎来到TICTACTOE应用程序< / h1>
    < p>< b>布局编号:< / b> < input type =textid =no>< / p>
    < / template>



    App.js


    if(Meteor.isClient)
    {


    Template.main.events
    ({
    'keydown input#no':function()
    {
    //模板数据(如果有的话) '
    if(event.which == 13)
    {// 13是输入键事件
    console.log(You pressed enter key);
    }
    }
    });


    if(Meteor.isServer)
    {
    Meteor.startup(function()
    {
    //运行的代码服务器在启动
    });
    }


    解决方案

    这应该对您有所帮助。 / p>

     < input type =number/> 

    :)

    使用带键码的jQuery:

      jQuery(#yourInputId)。keydown(function(event){
    // Allow:backspace,delete,tab,escape,enter和。
    if(jQuery.inArray(event.keyCode,[46,8,9,27,13,190])!== -1 ||
    //允许:Ctrl + A
    (event.keyCode == 65&& event.ctrlKey === true)||
    // Allow:home,end,left,right
    (event.keyCode> = 35&& event.keyCode< = 39)){
    //让它发生,不要做任何事
    return;
    } $如果(event.shiftKey ||(event.keyCode< 48 || event.keyCode> 57)& b; b $ b else {
    //确保它是一个数字并停止按键
    ) &(event.keyCode< 96 || event.keyCode> 105)){
    event.preventDefault( );
    }
    }
    });

    请参阅 DEMO。


    How to make HTML input tag only accept numbers?

    • I need to make sure that input field only takes numbers as input value.

    • I want the user to be unable to type in any other characters other than numbers.

    • User manually enters the number not a number scroll bar.

    I am using the Meteor Js.And the code as shown below.

    App.html
    
    <head>
      <title App</title>
    </head>
    
    <body>
      {{> main}}
    
    </body>
    
    <template name="main">
         <h1>Welcome to TICTACTOE App</h1>
        <p><b>Layout Number :</b> <input type="text" id="no"></p>
    </template>
    
    
    
    App.js
    
    
    if (Meteor.isClient)
     {
    
    
      Template.main.events
      ({
        'keydown input#no' : function ()
        {
          // template data, if any, is available in 'this'
          if (event.which == 13) 
            { // 13 is the enter key event
              console.log("You pressed  enter key");
            }
        }
      });
    }
    
    if (Meteor.isServer) 
    {
      Meteor.startup(function () 
      {
        // code to run on server at startup
      });
    }
    

    解决方案

    This should help you.

    <input type="number" />
    

    :)

    Or Best way to use jQuery with keycodes:

    jQuery("#yourInputId").keydown(function(event) {
                // Allow: backspace, delete, tab, escape, enter and .
                if ( jQuery.inArray(event.keyCode,[46,8,9,27,13,190]) !== -1 ||
                     // Allow: Ctrl+A
                    (event.keyCode == 65 && event.ctrlKey === true) || 
                     // Allow: home, end, left, right
                    (event.keyCode >= 35 && event.keyCode <= 39)) {
                         // let it happen, don't do anything
                         return;
                }
                else {
                    // Ensure that it is a number and stop the keypress
                    if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                        event.preventDefault(); 
                    }   
                }
            });
    

    See DEMO.

    这篇关于如何让HTML输入标签只接受数字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆