正则表达式:日期格式(dd.mm.yyyy)的基本模式不起作用

我是Regex的新手,正在尝试为HTML中的文本输入字段创建基本的日期模式。

现在,我只想考虑以下规则:

  • 第一个数字组,带有01到31之间的2位数字
  • 第二个数字组,带有从01到12的2位数字
  • 第三个数字组,从1961年到2100年有4位数字
  • 第一个和第二个数字组之后的分隔符必须是一个点/句点

允许的示例:

  • 1990年1月1日
  • 2000年4月5日
  • 2010年12月31日

我尝试了以下操作,但这对我不起作用。 有人可以告诉我我在这里想念的吗?

我的正则表达式模式:

pattern="[01-31].[01-12].[1961-2100]"

提前谢谢了, 汤姆

评论
Lee
Lee

Try with this regex: (0?[1-9]|[12]\d|3[0-1])[\./]([0?[1-9]|1[0-2])[\./](196[1-9]|19[7-9]\d|20\d\d|2100)

Demo here

点赞
评论
手拿香烟
手拿香烟

尝试这个 :

pattern = "(0[1-9]|1[0-9]|2[0-9]|3[0-1])\.(0[1-9]|1[0-2])\.(\d){4}";
点赞
评论