最近遇到了一个日期格式验证的问题,看了一下网上的感觉不够全,适应的格式比较单一,所以自己补全了一下
/^([0-9]{4})(-|\/)([0-1]{1}[0-9]{1}|[0-9]{1})(-|\/)([0-3]{1}[0-9]{1}|[0-9]{1})$/
if (preg_match ("/^([0-9]{4})(-|\/)([0-1]{1}[0-9]{1}|[0-9]{1})(-|\/)([0-3]{1}[0-9]{1}|[0-9]{1})$/", $birthday)) {
$birthday = date('Y-m-d',strtotime($birthday));
echo $birthday;
}
通过该正则表达式校验可以兼容:Y-m-d和Y/m/d格式,并且兼容月份和日期为一位数的情况