【问题标题】:How to accept more than 1 HTML5 pattern on an input?如何在输入中接受超过 1 个 HTML5 模式?
【发布时间】:2014-05-12 04:38:39
【问题描述】:

我正在处理一个表格,我必须在其中获取图书的 ISB 编号。 ISBN 编号可以是 9 位或 13 位数字,我想使用 HTML5 模式检查输入,但我必须同时接受 9 位或 13 位长数字。

如何用 HTML5 写下来?

【问题讨论】:

  • 您对正则表达式的工作原理有疑问吗?也许你想学习正则表达式?
  • 我的问题是如何在一个输入元素上应用 2 种模式以接受 2 种格式作为有效数据。
  • 你不能用正则表达式做到这一点?
  • 我试错了。不过谢谢,现在很清楚了。

标签: regex html validation pattern-matching


【解决方案1】:

pattern 属性中可以使用正则表达式:

<input type="text" pattern="\d{9}|\d{13}">

所以这不是 HTML5 特有的,这是基本的正则表达式。 | 表示替代品。

【讨论】:

    【解决方案2】:

    模式属性基于正则表达式。 RegEx {} 检查字符是否出现(在您的情况下为 9 和 13)。

    您不能用一个表达式和一个 {} 表示法来检查两种不同(不相邻)的长度。

    您需要编写两个表达式:第一个检查 11 个字符,第二个检查 15 个字符。您可以使用某些条件链接这两个正则表达式。一些If-else-conditionality 存在,但浏览器可能不支持。

    示例:pattern="{9}|{13}"

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 2014-11-20
      • 2019-01-14
      • 2016-09-29
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多