首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将输入限制为文本框:仅允许数字和小数点

将输入限制为文本框:仅允许数字和小数点
EN

Stack Overflow用户
提问于 2010-05-11 13:02:29
回答 30查看 402.7K关注 0票数 115

如何将输入限制在文本框中,使其只接受数字和小数点?

EN

回答 30

Stack Overflow用户

回答已采纳

发布于 2010-05-13 14:52:30

代码语言:javascript
复制
<HTML>
  <HEAD>
    <SCRIPT language=Javascript>
       <!--
       function isNumberKey(evt)
       {
          var charCode = (evt.which) ? evt.which : evt.keyCode;
          if (charCode != 46 && charCode > 31 
            && (charCode < 48 || charCode > 57))
             return false;

          return true;
       }
       //-->
    </SCRIPT>
  </HEAD>
  <BODY>
    <INPUT id="txtChar" onkeypress="return isNumberKey(event)" 
           type="text" name="txtChar">
  </BODY>
</HTML>

这真的很有效!

票数 167
EN

Stack Overflow用户

发布于 2015-05-06 21:24:17

接受的解决方案不完整,因为您可以输入多个'.',例如24..22..22。通过一些小的修改,它将像预期的那样工作:

代码语言:javascript
复制
<html>

<head>
  <script type="text/javascript">
    function isNumberKey(txt, evt) {
      var charCode = (evt.which) ? evt.which : evt.keyCode;
      if (charCode == 46) {
        //Check if the text already contains the . character
        if (txt.value.indexOf('.') === -1) {
          return true;
        } else {
          return false;
        }
      } else {
        if (charCode > 31 &&
          (charCode < 48 || charCode > 57))
          return false;
      }
      return true;
    }
  </script>
</head>

<body>
  <input type="text" onkeypress="return isNumberKey(this, event);" />
</body>

</html>

票数 35
EN

Stack Overflow用户

发布于 2010-05-11 13:06:28

代码语言:javascript
复制
form.onsubmit = function(){
    return textarea.value.match(/^\d+(\.\d+)?$/);
}

这就是你要找的吗?

我希望它能帮上忙。

编辑:我对上面的示例进行了编辑,使其只能有一个句点,前面至少有一个数字,后面至少有一个数字。

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2808184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档