12

我有一个名为 Fleet no 的输入字段。

我想使用 HTML 5 对其进行验证,以仅允许输入 5 位最大长度的数字。

我设法只输入数字,但它只接受 1 位数字。

我不能输入超过 1 个数字。这是我试图做的:

<div>
  <label for="element_1">Fleet Number </label>
  <input id="element_1" name="element_1" type="text" maxlength="255" 
  value="" required placeholder="Enter Digits only" pattern = "[0-9]"
  title='Fleet No. must contain digits only'/> 
</div>
4

5 回答 5

17

利用[0-9]{1,5}

<input type="text" pattern="[0-9]{1,5}" />

{1,5}表示重复前面的部分 1, 2, 3, ..., 5 次。

于 2013-06-02T14:14:14.870 回答
15

这是最干净的方法

<input type="text" pattern="\d{1,5}" title="Only digits" />

于 2013-06-02T14:16:38.990 回答
2

只需将以下 oninput 表达式添加到您的 HTML 标记中。这将允许接受 0 到 9 之间的唯一数字。

这也限制了接受 +、-、.(点)。

<input type="text" id="salary" name="salary" maxlength="3" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*)\./g, '$1');" />

'或者'

<input type="text" id="salary" name="salary" maxlength="3" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" />

我在其中一个 js fiddles 中找到了它,它对我有用。

于 2021-03-02T12:54:30.907 回答
1

为什么不用于例如:使用minmax参数作为number输入:

<input type="number" name="element_1" min="0" max="99999">

这仅在数字小于时有效99999,这意味着它小于或等于 5 位。

于 2018-04-30T10:27:11.237 回答
0

只有 5 位数字:

请参阅: https ://regex101.com/r/pTSwFN/1/

 pattern="[0-9]{5}"
于 2020-11-26T10:40:47.827 回答