HTML5日期输入模式

时间:2018-05-09 05:20:43

标签: regex html5 forms design-patterns input

我的尝试:

  Year <select ng-options="x for x in ['2018']" required>      </select> 
  Month: <input  pattern="[0-1][0-9]" maxlength="2"   required></input> 
  Day: <input  pattern="[0-3][0-9]" maxlength="2"   required></input>  

为年,月和日创建输入框,其中包含以下输入验证。您对接受以下参数的HTML5输入表单模式有任何建议吗?

  • 年[2018]
  • 月[01-12]
  • 第[01,5]天[1,3,5,7,8,10,12]
  • 每月[01-30]月[4,6,9,11]
  • [01]月[2]

可以将以下条件添加到输入模式中。

  • 如果选择了第1个月,则当天的输入框允许1-31,
  • 如果选择了第2个月,则当天的输入框允许1-28

1 个答案:

答案 0 :(得分:1)

以下是您要求的日期的一些模式。但是,我认为只能用正则表达式来解决这个问题,所以你可能需要一个HTML / Js解决方案。

(1\d{3}|2\d{3}) //Matches all the years between 1000 and 2999
(0[1-9]|1[0-2]) //Matches all numbers from 01 to 12
([0-2]\d|3[0-1])//Matches days from 01 to 31
([0-2]\d|30)    //Matches days from 01 to 30
([0-1]\d|2[0-8])//Matches days from 01 to 28