Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '^d{1,2}/d{1,2}/d{4}^' // dd/mm/yyyy
- '^d{1,2}/d{1,2}/d{2}^' // dd/mm/yy
- $date_to_check = "22/06/2017";
- $true = preg_match("/([0-9]{2})/([0-9]{2})/([0-9]{4})/", $date_to_check);
- var_dump($true);
- $date='99/99/2017';
- $yearlen=strlen(substr($date,strrpos($date,'/')+1));
- if($yearlen==2){
- echo 'two digit year';
- }elseif($yearlen==4){
- echo 'four digit year';
- }else{
- echo "unexpected year length ($yearlen)";
- }
- $date='99/99/2017';
- $yearlen=strlen((preg_match('/d+$/',$date,$out)?$out[0]:''));
- if($yearlen==2){
- echo 'two digit year';
- }elseif($yearlen==4){
- echo 'four digit year';
- }else{
- echo "unexpected year length ($yearlen)";
- }
- function validDate($date){
- $d=explode('/',$date,3); // limit $d array to 3 elements
- if(sizeof($d)==3 && checkdate($d[1],$d[0],$d[2])){
- if(strlen($d[2])==4){
- return 'a valid date with four-digit year';
- }elseif(strlen($d[2])==2){
- return 'a valid date with two-digit year';
- }
- }
- return 'an invalid date';
- }
- $dates=['1/4/17','01/04/17','9/9/1999','32/12/17','99/99/9999'];
- foreach($dates as $date){
- echo "$date is ",validDate($date),"n";
- }
- 1/4/17 is a valid date with two-digit year
- 01/04/17 is a valid date with two-digit year
- 9/9/1999 is a valid date with four-digit year
- 32/12/17 is an invalid date
- 99/99/9999 is an invalid date
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement