javascript - 如何将输入限制在某个值范围内

标签 javascript jquery html

我有一个输入框,它应该只允许-90到90范围内的浮点值。当值不在允许的范围内时,使“发送”按钮不可单击。并在尝试单击按钮时显示一条文本,说明输入无效。

现在我可以使用键码限制输入,即使这只允许输入数字和一个小数点和负号,它也可以让你将符号放在任何地方。 这是 demo

$('#inputLat').keypress(function(event) {
    var code = (event.keyCode ? event.keyCode : event.which);
    if (!(
            (code >= 48 && code <= 57) //numbers
            || (code >= 45 && code <= 46) //period
        )
        || (code == 46 && $(this).val().indexOf('.') != -1)
				|| (code == 45 && $(this).val().indexOf('-') != -1)
       )
        event.preventDefault();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="inputLat">Latitude</label>
<br>
<input type="text" id="inputLat" placeholder="-90° to +90°">
<br>
<button type="button" id="sendButton">Send</button>

我希望标志仅出现在开头。

最佳答案

您可以使用<input type="range"> ,如果您不介意支持它的浏览器中的 slider 。如果浏览器不回滚到文本输入,并且可能需要自定义验证。

<div>
  <input type="range" id="start" name="volume"
         min="-90" max="90">
  <label for="volume">Volume</label>
</div>

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range

或者您可以使用<input type="number">

<input type="number" min="-90" max="90">

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number

关于javascript - 如何将输入限制在某个值范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56569319/

相关文章:

javascript - 页面访问和页内操作触发页面访问之间的帧转义行为不同

javascript - 在javascript中读取由php编码的json

javascript - 单击某个元素时如何渲染 MathJax?

javascript - 使用 JQuery slidetoggle() 时屏幕不向下滚动

javascript - 输入意外结束

javascript - jQuery 淡入轻松

javascript - Jquery 工具在 Webkit 中不工作

jquery - 使用 jQuery UI Selectable 返回选定元素的数量

html - 显示单独的线而不是边框

javascript - 无法将表导出为 csv