javascript - 将输入限制为 5 个字符(如果是整数)或 8 个字符(带分数)

标签 javascript input maxlength

我有简单的文本输入:

 <div style="float:right" class="xField">
      <input id="userLength" name="userLength"/>
      <label style="margin-left: 3px;">m</label>
 </div>

我需要这个输入来只接受数字,如果数字是整数,它应该只允许 5 个字符,即 12345 .如果数字包含分数,则应允许 8 个字符,即 12345,99 .

我试过添加 maxlength到输入,但一次只适用于这些条件之一。

我怎样才能做到这一点?

最佳答案

您可以使用 pattern 属性并提供支持您的要求的正则表达式。

例如(这并不禁止输入无效数据,但会在模式不匹配时将该字段标记为无效)。

<div style="float:right" class="xField">
      <input id="userLength" name="userLength" pattern="\d{1,5}(,\d{1,2})?" />
      <label style="margin-left: 3px;">m</label>
 </div>

关于javascript - 将输入限制为 5 个字符(如果是整数)或 8 个字符(带分数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59312283/

相关文章:

javascript - Cmd + 文本选择不起作用,只允许在文本字段输入数字

android editText限制字符串长度而不是字符

javascript - Google Maps Javascript - 使标记弹跳

javascript - onbeforeunload 事件不会在浏览器按钮单击时触发,但在 CMD+R/F5 上工作

c++ - 将程序一的输出作为程序二的输入传递

c - 为什么使用 %s 时仅扫描并存储输入句子中的第一个单词?

string - Groovy 说我的 Unicode 字符串太长

javascript - 我用来重定向主页的脚本无法按我需要的方式运行

javascript - 更新 'stacked columns' 图表 : update() or setData()? 上的 highcharts.js 数据