在PHP中捕获无效输入的最快方法

时间:2017-03-17 11:18:09

标签: php error-handling

从HTML文档中,我得到两个值

$dateStart = $_GET['date_1']; //date starting search
$dateEnd = $_GET['date_2']; //date starting search

PHP是否提供了一项功能,允许我检查输入是否与格式dd/mm/yy不匹配,还是我必须嵌套条件?

1 个答案:

答案 0 :(得分:1)

验证您的日期

if (DateTime::createFromFormat('d/m/y', $date)) {
    echo "Date is valid";
} else {
    echo "Date is not valid";
}

更一般地说,如果你想验证"东西"

使用PHP"嵌入式过滤器"与filter_var()Link。你可以将它用于很多"标准"过滤器或你的正则表达式。如果是dd/mm/yy个日期,您可以使用自定义正则表达式:

$regex = '~^\d{2}/\d{2}/\d{2}$~';
print filter_var("01/01/2017",FILTER_VALIDATE_REGEXP,["options" => ["regexp"=> $regex]]);

请注意,这也将验证22/22/22这是不正确的,所以使用第一个建议的日期验证,我只用它作为例子;)