Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. '^d{1,2}/d{1,2}/d{4}^' // dd/mm/yyyy
  2.  
  3. '^d{1,2}/d{1,2}/d{2}^' // dd/mm/yy
  4.  
  5. $date_to_check = "22/06/2017";
  6. $true = preg_match("/([0-9]{2})/([0-9]{2})/([0-9]{4})/", $date_to_check);
  7. var_dump($true);
  8.  
  9. $date='99/99/2017';
  10. $yearlen=strlen(substr($date,strrpos($date,'/')+1));
  11. if($yearlen==2){
  12. echo 'two digit year';
  13. }elseif($yearlen==4){
  14. echo 'four digit year';
  15. }else{
  16. echo "unexpected year length ($yearlen)";
  17. }
  18.  
  19. $date='99/99/2017';
  20. $yearlen=strlen((preg_match('/d+$/',$date,$out)?$out[0]:''));
  21. if($yearlen==2){
  22. echo 'two digit year';
  23. }elseif($yearlen==4){
  24. echo 'four digit year';
  25. }else{
  26. echo "unexpected year length ($yearlen)";
  27. }
  28.  
  29. function validDate($date){
  30. $d=explode('/',$date,3); // limit $d array to 3 elements
  31. if(sizeof($d)==3 && checkdate($d[1],$d[0],$d[2])){
  32. if(strlen($d[2])==4){
  33. return 'a valid date with four-digit year';
  34. }elseif(strlen($d[2])==2){
  35. return 'a valid date with two-digit year';
  36. }
  37. }
  38. return 'an invalid date';
  39. }
  40.  
  41. $dates=['1/4/17','01/04/17','9/9/1999','32/12/17','99/99/9999'];
  42. foreach($dates as $date){
  43. echo "$date is ",validDate($date),"n";
  44. }
  45.  
  46. 1/4/17 is a valid date with two-digit year
  47. 01/04/17 is a valid date with two-digit year
  48. 9/9/1999 is a valid date with four-digit year
  49. 32/12/17 is an invalid date
  50. 99/99/9999 is an invalid date
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement