【发布时间】:2011-07-15 16:15:33
【问题描述】:
我正在尝试使以下正则表达式模式适用于以下条件。对于 20 世纪和 21 世纪,允许的值为 1978 年或 1978-1979 年,2010-2011 年也是如此。另外,如果像 1978-1979 一样是 2 年,它们只能相隔一年。
我已经完成了以下内容,即接受 4 位数字 /^[1-9]{4}$/ 这是非常基本的。但任何帮助将不胜感激!
【问题讨论】:
-
我不认为正则表达式是正确的工具,尤其是。 “相隔一年”规则...
-
解释了这么多逻辑,这在合理的正则表达式中是无法实现的。我建议最多验证格式并使用正则表达式解析日期,然后执行其余的逻辑。
-
是的...获取一个正则表达式来获取日期,然后使用良好的 ole PHP 逻辑来检查您的其他约束。