gpt4 book ai didi

php - 使用 filter_var() 来验证日期?

转载 作者:可可西里 更新时间:2023-10-31 22:52:50 24 4
gpt4 key购买 nike

我显然没有使用 filter_var()正确。我需要检查用户输入的日期是否有效,格式为“dd/mm/yyyy”。

这只是返回我作为日期传递的任何内容,而我希望它返回日期或 0/null/FALSE,以防输入字符串看起来不像日期:

$myregex = "/\d{2}\/\d{2}\/\d{4}/";
print filter_var("bad 01/02/2012 bad",FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=> $myregex)));

如果其他人使用此功能来检查日期,我做错了什么?我应该使用另一个函数来验证表单字段吗?

谢谢。

最佳答案

使用正则表达式来验证日期是个坏主意。想象一下 99/99/9999 很容易被视为有效日期。你应该 checkdate

bool checkdate ( int $month , int $day , int $year )

简单使用

$date = "01/02/0000";
$date = date_parse($date); // or date_parse_from_format("d/m/Y", $date);
if (checkdate($date['month'], $date['day'], $date['year'])) {
// Valid Date
}

关于php - 使用 filter_var() 来验证日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com