您的位置:首页 > 其它

正则式判断MM/DD/YY日期格式

2012-01-24 16:06 239 查看
public function isMDYDate( $val){

$len = strlen($val);
$str = array();
//(MM/DD/YY) 例如:11/11/11 为 2011-11-11
if($len==8){
$reg =  '/^((0[1-9]|1[012])[-\/.](0[1-9]|[12][0-9]|3[01])[-\/.][0-9]?[0-9]?[0-9]{2})*$/';
$split = explode("/", $val);
$str[0] =  $split[0];//month
$str[1] =  $split[1];//day
$str[2] =  $split[2];//year
//1938-2037(2038-1-1以后错误)
if($str[2]<38){
$str[2] = '20'.$str[2];
}else{
$str[2] = '19'.$str[2];
}
}else{
return false;
}

//(MM/DD/YY)
if (!preg_match($reg, $val)) {
return false;
}
//日期判断
if (!checkdate($str[0], $str[1], $str[2])) {
return false;
}
return true;

}


在PHP中判断日期格式,通过正则式判断时间格式是否正确。

正则式是从网上找的,根据需要改写成自己需要的了。

正则式可以判断MM/DD/YY和MM/DD/YYYY两种格式,通过长度来判断需要。

这里使用的是8位,php系统时间截止到2038年1月1日可以使用,

所以两位数字如果大于37的则为19XX年。小于38的为20XX年
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐