【问题标题】:How can I specify the exact number of digits that an user have to insert into an input field?如何指定用户必须插入输入字段的确切位数?
【发布时间】:2018-05-11 17:35:18
【问题描述】:

我是 HTML5 的新手,但遇到以下问题。在一个页面中,我有一个这样的输入标签:

<input id="codiceFiscaleEnte" class="form-control" name="numeroProtocollo" type="number" th:value="*{codiceFiscaleEnte}" required="required"></input>

我必须对其进行一些验证。

所以我知道 required="required" 属性意味着用户必须为此字段插入一个值,并且 type="number" 指定这个值必须代表一个数字。

现在我的问题是:我可以通过某种方式指定这个数字必须由 11 位数字组成吗?如何使用 HTML5 属性来做到这一点?

【问题讨论】:

  • 使用minmaxstep。或者你的意思是你想允许00000000001而不是1
  • @Oriol 不必是 11 位整数:类似于:12345678901
  • 如果您只对字符串表示而不对数值感兴趣,那么输入文本比输入数字更有意义。并允许您使用pattern 属性。
  • @Oriol 我知道,但问题是输入只能由数字而不是字母字符组成

标签: html html5-validation


【解决方案1】:

使用模式:

<input type="text" name="numeroProtocollo" required pattern="[0-9]{11}">

它只允许最小和最大长度为 11 的数字

测试一下:

https://jsfiddle.net/oegjdszx/1/

【讨论】:

  • 究竟指定name属性是什么?
  • 哦,你可以随意指定,我告诉你的唯一补充就是pattern属性
  • pattern 属性对于数字输入被忽略。
  • 是的,应该是type="text"。抱歉忘记了
  • @MarcosPérezGude 是的,但这样用户也可以插入字母字符,我想将输入限制为仅限数字
【解决方案2】:

像这样使用pattern

<input pattern="[0-9]{5}">

其中 5 是您想要的位数。

【讨论】:

    【解决方案3】:
    <input type="number" min="10000000000" max="99999999999" required>
    

    minmax 属性指定最小和最大有效值。 11 位数字是介于 10^10 和 (10^11 - 1) 之间的数字,因此请将 min 和 max 设置为这些值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 2016-02-18
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多