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 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}%'; 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'; } 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 Link to comment https://forums.phpfreaks.com/topic/163606-date-pattern-match/#findComment-863249 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.