Regex:日期格式的基本模式(dd.mm.yyy)不起作用[重复]

问题描述 投票:0回答:1

我是Regex的新手,正试图为HTML中的文本输入栏创建一个基本的日期模式。

目前我只想考虑以下规则。

  • 第一个数字组有两个数字,从01到31。
  • 二组数字
  • 三等数字组
  • 第一和第二组数字后面的分隔符必须是一个点号。

允许的例子。

  • 01.12.1990
  • 04.05.2000
  • 31.12.2010

我尝试了以下的方法,但这对我不起作用。谁能告诉我我缺少了什么?

我的Regex模式。

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

更新:

pattern 在我的例子中,HTML模式属性不是JS中的变量。

非常感谢,汤姆

regex regex-lookarounds
1个回答
3
投票

试着用这个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)

演示 此处


1
投票

试试这个。

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

0
投票

我找到了一个适合我的解决方案。

pattern="(0[1-9]|[12][0-9]|[3][0-1])[\.]0*([1-9]|1[0-2])[\.](196[1-9]|19[7-9][0-9]|20[0-8][0-9]|209[0-9])"

谢谢你,汤姆

© www.soinside.com 2019 - 2024. All rights reserved.