我想帮助增强一个非常简单的正则表达式。
条件是:字符串值;固定长度= 10;可以只包含字符[0-9]。
为此,我有:^ \ d {10} $
我想强化这一点以强制执行以下操作:
前6个字符必须是有效日期(格式为ddmmyy)
帮助表示感谢。 谢谢 保罗
答案 0 :(得分:1)
无法使用纯RegEx真正准确地验证日期。但是,如果您只想要一般约束,例如天数不能超过31且月份不能超过12,那么以下内容应该可以正常工作:
^(?:0[1-9]|[12][0-9]|3[01])(?:0[1-9]|1[0-2])[0-9]{2}\d{4}$
结尾\d{4}
是为了确保其余4个字符也符合您的要求。
答案 1 :(得分:0)
如果您只是尝试使用正则表达式执行此操作,我认为您必须将其分解为:
对于DDMM部分:
为YY部分:
然后将它们组合成一个可笑的长正则表达式模式。
希望这是有道理的。请注意,这并不完全有效,因为它将允许无效日期,如2月29日(非闰年2月29日)。
就像@tenub所说,你不能单独使用正则表达式来准确验证日期。