用户输入,验证日期格式是否正确

时间:2011-08-31 00:16:46

标签: php date textbox

我有一个用户输入信息的表单。我希望能够检查他们在日期文本字段中输入的日期是否采用正确的格式mm / dd / yy。

如何根据mm / dd / yy格式检查用户输入的内容,如果不正确,则显示错误,告诉他们输入的日期必须是mm / dd / yy格式。

由于

3 个答案:

答案 0 :(得分:2)

最好使用date picker或三个<select>来确保您的用户别无选择,只需输入正确的日期格式。

答案 1 :(得分:1)

我确信还有其他方法可以做到这一点,但是使用explode(),通过使用'/'作为拆分字符,将传入的数据分成[希望]三个条目的数组。

然后检查第一个值是否在1..12范围内,第二个值在1..31范围内,最后一个值在0..99范围内。

更复杂的检查将确保每个月都不会超过适当的天数(对于额外的信用额度,在02个月允许29个,当且仅当年份可以被4整除时(是的,这会混淆)所有世纪,其中前两位数字不能被4整除,但你的年份格式仅限于yy)。

如果输入太短(我说5个字符允许1/1/1)或太长(超过8个字符),则无效。

更好的格式是 NOT 需要分隔符,并确保字符串长度为6个字符,全部为数字,并且每对数字都在您可接受的范围内。

答案 2 :(得分:0)

$date='12/12/2011';
$reg="#^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$#";

if (preg_match($reg, $date)) {
    echo "GOOD date.";
} else {
   echo "BAD date.";
}