[英]Quickest way to catch an invalid input in php
From an HTML document, I am getting two value 从HTML文档中,我获得了两个价值
$dateStart = $_GET['date_1']; //date starting search
$dateEnd = $_GET['date_2']; //date starting search
Does PHP offer a feature that allows me to check if the input don't match the format dd/mm/yy
or must I nest conditions? PHP是否提供允许我检查输入是否与
dd/mm/yy
格式不匹配的功能,或者我必须嵌套条件?
if (DateTime::createFromFormat('d/m/y', $date)) {
echo "Date is valid";
} else {
echo "Date is not valid";
}
Use PHP "embedded filters" with filter_var()
. 将PHP“嵌入式过滤器”与
filter_var()
。 Link . 链接 。 You can use it for a lot of "standard" filters or with your regex.
您可以将其用于许多“标准”过滤器或正则表达式。 In the case of
dd/mm/yy
dates you can use a custom regex: 如果是
dd/mm/yy
日期,则可以使用自定义正则表达式:
$regex = '~^\d{2}/\d{2}/\d{2}$~';
print filter_var("01/01/2017",FILTER_VALIDATE_REGEXP,["options" => ["regexp"=> $regex]]);
Beware, this will validate also 22/22/22
which is not correct, so use the first proposed date validation, I used it only as example ;) 当心,这还将验证
22/22/22
这是不正确的,因此请使用第一个建议的日期验证,我仅以它为例;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.