glenelkins Posted June 25, 2009 Share Posted June 25, 2009 Hi I have a pattern for REGEX: $pattern = '%[0-9]{2,2}/[0-9]{2,2}/[0-9]{4,4}%'; This matches a date of birth, which should be in the format mm/dd/yyyy the pattern matches 2/2/4 perfect. What would i need to change in the pattern to make sure that the mm part is not greater than 12 and the dd part is not greater than 31 Quote Link to comment https://forums.phpfreaks.com/topic/163606-date-pattern-match/ Share on other sites More sharing options...
Adam Posted June 25, 2009 Share Posted June 25, 2009 Try this... $pattern = '%(0?[1-9]{1}|1[0-2]{1})/([0-2]?[0-9]{1}|3[0-1]{1})/[0-9]{4,4}%'; Quote Link to comment https://forums.phpfreaks.com/topic/163606-date-pattern-match/#findComment-863240 Share on other sites More sharing options...
Daniel0 Posted June 25, 2009 Share Posted June 25, 2009 Anything wrong with checkdate? list($month, $day, $year) = explode('/', $date); if (!checkdate($month, $day, $year)) { echo 'invalid date'; } Quote Link to comment https://forums.phpfreaks.com/topic/163606-date-pattern-match/#findComment-863248 Share on other sites More sharing options...
glenelkins Posted June 25, 2009 Author Share Posted June 25, 2009 ha i didnt know that function existed Quote Link to comment https://forums.phpfreaks.com/topic/163606-date-pattern-match/#findComment-863249 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.