troubleshooting Question

REGEX MySQL DATE Validation

Avatar of Bob-Villa
Bob-Villa asked on
Perl
1 Comment1 Solution475 ViewsLast Modified:
I want to validate MySQL dates with PERL. I want to make sure that 2 digit numbers are used for Month and Day and that Month can't go beyond 12 and Day can't go beyond 31. If possible I would like to throw in a High and Low Year wildcard. The following code simply checks for digits but doesn't force 2 digit Day and Year and doesn't have a limiter (12 and 31). I am not concerned with validating an acutal date (i.e. Leap Year or bad dates like Nov 31) but that would be a plus.

I know there is a  MySQL-DateFormat module on CPAN but I would rather not load a module if the same can be accomplished with a few lines of code.

$val_elem="2007-01-10";

if ($val_elem !~ /^\d{4}\-\d{1,2}\-\d{1,2}$/) {
  &fail;
  }
else {
 &pass;
  }
ASKER CERTIFIED SOLUTION
Kim Ryan
IT Consultant

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 1 Comment.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 1 Comment.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros