【问题标题】:Set the exact number of elements required for an Input field with type number设置类型为 number 的 Input 字段所需的确切元素数量
【发布时间】:2026-01-20 15:25:01
【问题描述】:

我的表单中有一个类型为编号的字段输入,我希望根据要求在该字段中允许准确的 13 个字符。我想知道 HTML 中是否有任何默认选项可以用来完成此操作?我尝试了模式和最大长度,但由于某种原因,它们对类型号无效。如果从 HTML 方面不可能,那么我想使用 angularjs 来实现相同的目标。任何输入都会非常有用。

<input type="number" id="userCode" ng-model="formdata.userCode" title="13 Digit code"></input>&nbsp;

根据以下答案,我将 minmax 添加为 13。添加后,当我输入 13 位数字时,我也会收到错误消息。有人可以让我知道我在这里做错了什么吗?

<input type="number" min="13" max="13" id="userCode" ng-model="formdata.userCode" placeholder="Enter 13 Digit Code" title="Please Enter the 13 digit code" class="form-control" style="width: 200px;" ng-required="true">&nbsp;

【问题讨论】:

  • 使用min & max 属性

标签: html input maxlength


【解决方案1】:

如果有人在看,他们也可以检查这个答案:

<input type="text" pattern=".{13,13}" oninput="this.value=this.value.replace(/[^0-9]/g,''); title="13 characters length required" ">

使用这个输入字段,尽管它的文本我们可以确保它只接受数字。

【讨论】:

    【解决方案2】:

    <form action="">
      <input type="text" required pattern="[0-9]{13}" maxlength=13 id="userCode" ng-model="formdata.userCode" title="13 Digit code">&nbsp;
      <input type="submit">
    </form>

    您可以check here 获取输入的其他一些属性。

    【讨论】:

    • 我已经添加了这个命令,但由于某种原因,即使我输入了 13 位数字,它也会抛出错误。我修改了我的问题并添加了屏幕截图。你能检查一下,让我知道我做错了什么吗?
    • 感谢您的回复。实际上,当我添加pattern=".{13,13}" 时,我正在尝试使用number 的输入类型,我没有看到任何区别。您能否告诉我它是否仅适用于 text 类型?如何为number 字段实现它?
    • 您必须将type 属性更改为text 否则它将无法为您工作!所有这些属性,如 maxlengthminlength 甚至 pattern 都不适用于 numbers。我也知道您在这里使用type="number",但现在如果您查看我更新的答案,如果用户在该字段中输入任何文本,它会在按下submit 按钮时抛出错误。只接受数字,但这里的关键是您必须将类型更改为 text
    • 哦,确定我使用了以下正则表达式,所以现在它只接受数字。 oninput="this.value=this.value.replace(/[^0-9]/g,'');"
    最近更新 更多