我有简单的文本输入:
<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/