PHP日期格式问题

发布于 2024-09-11 06:10:49 字数 538 浏览 6 评论 0原文

有些人帮助了我 如何检查 PHP 中的数据格式 发布,但我需要检查两种日期格式 MM-DD-YYYY 和 DD-MM-YY 而不是一种。我需要设置两个正则表达式吗???感谢您的帮助!

$date1=05/25/2010;    
$date2=25/05/10;    //I wish both of them would pass 

$date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';

if (preg_match($date_regex, $date1)) {
  do something    
}

if (preg_match($date_regex, $date2)) {  // need second Reg. expression??
  do something    
}

Some folks helped me on
How to check the data format in PHP
post but I need to check two date formats MM-DD-YYYY and DD-MM-YY instead of one. Do I need to setup two regular expression???? Thanks for the help!!!

$date1=05/25/2010;    
$date2=25/05/10;    //I wish both of them would pass 

$date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';

if (preg_match($date_regex, $date1)) {
  do something    
}

if (preg_match($date_regex, $date2)) {  // need second Reg. expression??
  do something    
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

魂归处 2024-09-18 06:10:49

您的正则表达式

$date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';

与 MM-DD-YYYY 格式匹配。

您想要匹配的另一个很简单,

$date_regex2 = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';

您只需检查其中一个是否为真即可。

if(preg_match($date_regex,$date) or preg_match($date_regex2,$date)){
  //match
}

或者您可以使用

$mmddyyyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';
$mmddyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';
$regex = "($mmddyyyy|$mmddyy)";

if(preg_match($regex,$date){
  //match
}

不是最优雅的正则表达式来组合它们,但它应该可以正常工作。

Your regex

$date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';

matches MM-DD-YYYY format.

The other you want to match is simple

$date_regex2 = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';

You could just check if either is true.

if(preg_match($date_regex,$date) or preg_match($date_regex2,$date)){
  //match
}

Or you could combine them using

$mmddyyyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';
$mmddyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';
$regex = "($mmddyyyy|$mmddyy)";

if(preg_match($regex,$date){
  //match
}

Not the most elegant regex but it shold work just fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文