HTML5 模式中的最大数量(不是最大数字)

Max number (not max digits) in HTML5 pattern

我想要一个简单的 html 输入,它通过 HTML5 验证杂志的版本号(不用担心,它会在服务器端重新检查)。

格式应为EDITIONNUMBER/YEAR。该杂志 每月 出现,因此除了最大数字 2(正确的是 1/2019 和 12/2018)之外,它的最大数字应该是 12(13/2018 永远不存在)。所以我的问题是 而不是 来找出如何设置最大数字,而是 HTML5 模式中的最大数字。

在 /YYYY 之前 >=1 和 <=12 的所有内容都应该是正确的。

到目前为止我使用这个,它至少检查 0/0000 或 00/0000。在我的例子中,没有必要检查正确的日期格式,因为这也通过 php checkdate 验证,但版本号应该在第一步中正确。

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

有什么想法吗?

您可以尝试使用模式:

([1-9]|1[0-2])/[0-9]{4}

以上模式使用版本号的交替来匹配 1-9(左侧)或 10-12(右侧)。然后可以跟任何 4 位数的年份。

在您的代码中:

<input type="text" pattern="([1-9]|1[0-2])/[0-9]{4}">