【发布时间】:2013-11-30 10:11:35
【问题描述】:
我有一个验证生日的正则表达式:
if(!preg_match('/^(0?[1-9]|1[012])[- .\/](0?[1-9]|[12][0-9]|3[01])[- .\/](19|20)?[0-9]{2}$/', $_POST['bday'])
{
echo 'enter your birthdate in a valid format. mm/dd/yyy';
}
这是:
正确的月份
闰年日期不准确
2 月接受第 30 天和第 31 天
并且 20 年接受大于 2013 年
我只做对了几个月我怎样才能做更准确的生日验证?还是有其他方法可以验证生日?
我想要的输出是:
在 2 月份验证闰年日期
年份不得超过 2010 年
输出:
02/14/2010
我对正则表达式还很陌生,请帮忙?
【问题讨论】:
-
不要为此使用正则表达式。正则表达式用于模式匹配,而不是像日期验证那样复杂。假设你想出了一个表达你想要的东西,那将是非常复杂和低效的。只需查看 PHP 日期/时间函数。
标签: php regex validation date