我有一个表单一直向用户抛出错误,因为他们不明白他们的出生日期需要使用MM/DD格式。我不是在问年份,但有些人把它输入MM/YY,没有意识到我想要的是日而不是年份。
我试着用regex做这个,但不能弄清楚,所以我写了这个
$ckdate = explode("/", $mySub['Birthday']);
if($ckdate[0]>12 || $ckdate[0]<1){
echo 'Please make sure your birthdate is in a valid format MM/DD, we ask for month and day only';
return;
}
if($ckdate[1]>31 || $ckdate[1]<1){
echo 'Please make sure your birthdate is in a valid format MM/DD, we ask for month and day only';
return;
}
这是最好的方法吗?这似乎效率低下。我想知道如果正则表达式是方式,或者有一个PHP函数来做到这一点?
您可以使用checkdate()
并只输入一个虚拟年份。例如:checkdate($m, $d, 2000)
.
注意:你可能想用闰年作为假年,这样2月29日出生的人就不会被冷落了。