ЙажаСценарий / Говнокод #27342 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
function validateUSDate( strValue ) 
{
	  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
	  if(!objRegExp.test(strValue))
	    return false; //doesn't match pattern, bad date
	  else
	  {
	    var strSeparator = strValue.substring(2,3); //find date separator
	    var arrayDate = strValue.split(strSeparator); //split date into month, day, year
	    //create a lookup for months not equal to Feb.
	    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
	                        '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31};
	    var intDay = (arrayDate[1]);
	
	    //check if month value and day value agree
	    if(arrayLookup[arrayDate[0]] != null) 
	    {
	      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
	        return true; //found in lookup table, good date
	    }
	    //check for February
	    var intYear = parseInt(arrayDate[2]);
	    var intMonth = parseInt(arrayDate[0]);
	    if( ((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
	      return true; //Feb. had valid number of days
	  }
	  return false; //any other values, bad date
}

А вот этот шедевр ещё и работает...

Запостил: kropotor kropotor, (Updated )

Комментарии (0) RSS

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8