You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化仅允许年、年月、年月日的日期校验条件判断代码?

简化后的日期格式校验逻辑

可以把原有的冗长判断简化为:

if ($year && (!$day || $month))

逻辑说明

  • 核心要求:必须存在年份($year为真),直接排除所有无年份的非法格式
  • 附加约束:如果存在日期($day为真),则必须同时存在月份($month为真);若没有日期,月份可存在或不存在,均符合规则

这一逻辑完全覆盖了允许的三种格式:

  • 单独年份:$year=true,$month=false,$day=false → 校验通过
  • 年份+月份:$year=true,$month=true,$day=false → 校验通过
  • 年份+月份+日期:$year=true,$month=true,$day=true → 校验通过

同时自动拦截所有非法场景:

  • 无年份:$year=false → 直接不通过
  • 单独月份/日期、仅月日、仅年日:要么$year=false,要么$day=true但$month=false → 均不通过

内容的提问来源于stack exchange,提问作者panthro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:02:01