javascript - 输入文本框为正数/负数/ float ,最大长度为 11

标签 javascript jquery input

Number : <input type="text" name="inputId" id="quantity" maxlength="11" />

当用户输入时应满足以下条件 1. 值可以是正数、负数或 float ,最大长度为11

这就是我到目前为止所写的内容

$(document).ready(function () {
  //called when key is pressed in textbox
  $("#inputID").keypress(function (e) {
     //if the letter is not digit then display error and don't type anything
     if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57 || e.which == 45 )) {
        //display error message
         if(e.which == 45) {
                var value = $("#quantity").val();
                if(value.indexOf('-') !=  -1)
                { 
                     var index = value.lastIndexOf('-');
                     if(index = 0){
                     return false;
                   }
                }

         }
         else
         {
             $("#quantity").val("-");   
         }       
    }
   });
});

我没有考虑“。”截至目前,只有负号应该位于索引零。

有没有更好的方法来做到这一点或修改此代码将是正确的方法。

请提出建议。

最佳答案

可能最简单的方法是使用 HTML5 验证:

<body>
    <form>
        <input type="text" maxlength="11" pattern="\-?\d+\.?\d+" />
        <input type="submit" value="Submit" />
    </form>
</body>

https://jsfiddle.net/9g0txx68/2/

关于javascript - 输入文本框为正数/负数/ float ,最大长度为 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29938302/

相关文章:

java - 扫描仪输入 + do-while 循环表现得很奇怪

javascript - 填写表单输入后仍然显示自定义消息

javascript - noUiSlider - 具有两个输入的双范围 slider + vue.js

javascript - 保存后,内联编辑焦点不会失去焦点

javascript - 如何将 GeoJSON(MultiLineString) 图层添加到 Google map

javascript - 悬停后保持视频控制 3 秒

javascript - html5 canvas 绘制带额外数据的圆变量

jquery - 流体布局,窗口的宽度在移动 (WP) 浏览器上未调整大小

javascript - Accordion Jquery 在点击时崩溃

Jquery Ajax 加载缓存