如果整数或带分数的 8 个字符,则将输入限制为 5 个字符

Hen*_*res 6 javascript input maxlength

我有简单的文本输入:

 <div style="float:right" class="xField">
      <input id="userLength" name="userLength"/>
      <label style="margin-left: 3px;">m</label>
 </div>
Run Code Online (Sandbox Code Playgroud)

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

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

我怎样才能做到这一点?

Gab*_*oli 1

您可以使用该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>
Run Code Online (Sandbox Code Playgroud)