当前位置: 首页 > 知识库问答 >
问题:

PHP验证字符串和日期[重复]

薛寒
2023-03-14

在PHP中,我需要检查一个字符串是否为以下格式:XXXX-YY-ZZ

其中x、y和z是整数。因此,字符串包含3个整数,由2个破折号分隔,规则如下:

xxxx > 2003 
yy >= 0 and yy <= 12 
zz >= 1 zz <= 31

验证这一点最简单的方法是什么?

共有1个答案

朱天逸
2023-03-14
function validateDate($date)
{
    $d = DateTime::createFromFormat('Y-m-d', $date);
    return $d && $d->format('Y-m-d') == $date;
}

函数是从此答案或php复制的。净收入

 类似资料:
  • 问题内容: 我试图建立一个PHP日期验证(MM / DD / YYYY),但我遇到了问题。这是我得到的样本: 问题答案: 您可以使用checkdate。例如,如下所示: 一种更偏执的方法,不会盲目相信输入内容:

  • 我正在尝试设置php日期验证(MM/DD/YYYY),但我遇到了问题。以下是我得到的一个示例:

  • 问题内容: 我正在写一个shell脚本,并且对为什么我的日期验证代码不起作用感到困惑。我针对发现的类似问题尝试了以下解决方案,但is_valid始终设置为1: 如何正确验证日期格式?只有格式为MM / DD / YYYY的日期才有效 我也尝试了以下解决方案:Linux Bash-日期格式,但它也总是拒绝日期。 问题答案: Mac OS X随附的BSD 不支持该选项(或者,它用于完全不同的东西)。安

  • 问题内容: 我正在尝试 使用&Hibernate验证来验证 String Date 。我需要检查给定的字符串日期应该是过去的日期,并且应该是正确的格式,并具有所有限制,例如leap年,日。 我尝试使用此代码,但无法正常工作。有什么解决办法。如果我们有自定义验证器,那么它是否在字段级别。请提供建议或代码段。 问题答案: 选项1 将您的模式更改为此: 但是请记住,这种验证不会检查2月是否少于28/29

  • 我试图执行OffsetDateTime.parse(mytext,dateTimeFormatter.ofpattern(mypattern)),它抛出了DateTimeParseException,无法从TemporalAccessor获得OffsetDateTime

  • 问题内容: 如何将字符串日期格式转换为日期,我的日期字符串格式为 接下来,我没有运气尝试。 以上所有语句都给出了解析错误。 问题答案: 请阅读的文档time.Parse: 该布局通过显示参考时间(定义为 2006年1月2日星期一15:04:05-0700 如果它是值,将被解释;它用作输入格式的示例。然后将对输入字符串进行相同的解释。 所以正确的格式是