Selamlar ; 

Tarih alanlarında denetim yapmamız gerektiğinde her seferinde bir şekilde kontrol yapmak durumunda kalıyor ve bunu farketmeden bir çok form ve projede yeniden yazıyorduk.Sonra bu ve benzeri fonksiyoneliteleri belli bir çatı altında toplayıp kendi frameworkümüzü oluştudurduk.Aşağıdaki fonksiyonlarda bu fw'den.Umarım işinize yarar.

 

   17 /* Begin of Eralp , 17 Mart 2010 between days functions.*/

   18 function isValidDate(dateStr)

   19 {

   20    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;

   21    var matchArray = dateStr.match(datePat);

   22    if (matchArray == null)

   23    {

   24       alert(dateStr + " bilgisi uygun tarih formatinda degil.")

   25       return false;

   26    }

   27    month = matchArray[1];

   28    day = matchArray[3];

   29    year = matchArray[4];

   30    if (month < 1 || month > 12)

   31    {

   32       alert("Ay bilgisi 1 ila 12 arasi olmalidir.");

   33       return false;

   34    }

   35    if (day < 1 || day > 31)

   36    {

   37       alert("Gun bilgisi 1 ile 31 arasi olmalidir.");

   38       return false;

   39    }

   40    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31)

   41    {

   42       alert(month + " ayi 31 gun icermiyor!")

   43       return false;

   44    }

   45    if (month == 2)

   46    {

   47       var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));

   48       if (day > 29 || (day == 29 && ! isleap))

   49       {

   50          alert(year + " subat , " + day + " gun icermiyor!");

   51          return false;

   52       }

   53    }

   54    return true;

   55 }

   56 

   57 function isValidTime(timeStr)

   58 {

   59    var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

   60    var matchArray = timeStr.match(timePat);

   61    if (matchArray == null)

   62    {

   63       alert("Girilen zaman bilgisi zaman formatina uygun degil!");

   64       return false;

   65    }

   66    hour = matchArray[1];

   67    minute = matchArray[2];

   68    second = matchArray[4];

   69    ampm = matchArray[6];

   70    if (second == "")

   71    {

   72       second = null;

   73    }

   74    if (ampm == "")

   75    {

   76       ampm = null

   77    }

   78    if (hour < 0  || hour > 23)

   79    {

   80       alert("Saat bilgisi 1 ila 12 arasi olmalidir (yada 0-23)");

   81       return false;

   82    }

   83    if (hour <= 12 && ampm == null)

   84    {

   85       if (confirm("Lutfen kullandiginiz zaman formatini beliriniz.  OK = Standard Format "))

   86       {

   87          alert("Girilen saat bilgisinin am veya pm olup olmadigini belirtiniz.!");

   88          return false;

   89       }

   90    }

   91    if  (hour > 12 && ampm != null)

   92    {

   93       hour -= 12;

   94       ampm = "pm";

   95    }

   96    if (minute < 0 || minute > 59)

   97    {

   98       alert ("Dakika bilgisi 0 ile 59 arasinda olabilir.");

   99       return false;

  100    }

  101    if (second != null && (second < 0 || second > 59))

  102    {

  103       alert ("Saniye bilgisi 0 ile 59 arasinda olabilir.");

  104       return false;

  105    }

  106    return true;

  107 }

  108 /* End of Eralp , 17 Mart 2010 between days functions.*/

Sevgiler

E2