英国日期正则表达

Fun*_*nky 4 regex

我正在尝试创建一个验证英国日期格式的正则表达式.我有以下内容:

(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d
Run Code Online (Sandbox Code Playgroud)

这非常适合验证:09/12/2011.但如果日期是:2011年9月 12日,它将无法正确验证.是否有正则表达式允许我使用单个数字和两个数字作为日期部分?例如" 09 "和" 9 ".

Tim*_*ker 8

只需做出领先的0可选:

(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)\d\d
Run Code Online (Sandbox Code Playgroud)

你需要一个额外的验证步骤 - 这个正则表达式当然不会检查无效日期31-02-2000等等.虽然可以在正则表达式中执行此操作,但不建议这样做,因为以编程方式执行此操作要容易得多,并且正则表达式正在进行中是滔天 这是一个验证正则表达式的日期(虽然使用mmddyyyy格式)来显示我的意思.