valiDate v2.0

Daha önce ilk versiyonunu sizlerle paylaştığım valiDate metodunu biraz daha geliştirdim. String nesneleri doğrulama amaçlı kullandığım için String nesnesinin prototype’ına ekleyerek herhangi bir metin değişken üzerinde kolayca tarih doğrulaması yapılabilmesine olanak sağladım. Ayraç olarak “-“,” “,“/” ya da “.” karakterlerini kullanıyor, yani doğrulanan metnin ilgili ayraç ile ayrılmış dd.mm.yyyy formatında olmasını bekliyor.

/*
 * valiDate
 * https://www.karalamalar.net/
 *
 * Copyright (c) 2009 İzzet Emre Erkan
 * Licensed under Creative Commons Attribution-Share Alike 3.0 Unported License
 * http://creativecommons.org/licenses/by-sa/3.0/
 *
 * Date: 2009-10-08 16:51:00 +0300 (Thu, 08 Oct 2009)
 * Revision: 6
 */
String.prototype.valiDate =
  function() {
    if(/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]{2}$/.test(this)) {
      var v = this.replace(/[- /]/g,'.').split('.');
      var d=parseInt(v[0],10), m=parseInt(v[1],10), y=parseInt(v[2],10);
      var o = new Date(y, m - 1, d);
      return o.getDate() == d && o.getMonth() + 1 == m && o.getFullYear() == y;
    }
    else
      return false;
  }

Metodun küçültülmüş halini (640 byte) buradan edinebilirsiniz.

Web geliştiricilerinin işine yarayacak 20 bookmarklet (web aparatı)

Webde uygulama geliştirirken genelde Firefox kullanıyorum. Geliştirme sürecinde de diğer tarayıcılarla uygulamayı test edip gereken önlemleri alarak tüm tarayıcılarda aynı sonucu alacak şekilde uygulama geliştirmeye çalışıyorum. Bu süreçte en çok baş ağrıtan tabii ki Internet Explorer oluyor. Bir tarafta test ettiğim dört tarayıcı (Firefox, Chrome, Opera, Safari) diğer tarafta Internet Explorer sürümleri (IE 6, IE 7, IE 8). Sağolsun Microsoft, peşpeşe çıkan iki sürüm bile birbirini tutmadığından ve piyasada kullanım oranları hiçe sayılamayacak düzeyde olduğundan, bir de böyle sancılı bir süreç ortaya çıkıyor.

Geliştirme sürecinde Firefox kullanmak çok büyük rahatlık. Web Developer araç çubuğu ve Firebug neredeyse tüm ihtiyaçları karşılıyor. Diğer tarayıcılarda ise bu iki eklentinin getirdiği rahatlığı yakalayabilmek bir kaç ekstra aparat kullanmam gerekiyor. Asıl ismi Bookmarklet olan bu kavram için malesef güzel Türkçemizde doğru bir karşılık yok ya da ben bilmiyorum. Ben web aparatı ya da kısaca aparat demeyi tercih ediyorum.
Okumaya devam et Web geliştiricilerinin işine yarayacak 20 bookmarklet (web aparatı)

Ultimate MySQL Sınıfı

Bir süredir geliştirdiğim ufak çaplı PHP + MySQL uygulamalarında Jeff Williams tarafından yazılmış olan Ultimate MySQL sınıfını kullanıyorum. En temel ihtiyaçlarımı karşılamakla beraber kolay geliştirilebilir bir yapısı olduğundan her yeni projede ihtiyaca göre üzerine bir şeyler ekleyebiliyorum.
Okumaya devam et Ultimate MySQL Sınıfı

Parça Tanımlayıcılar ile Cross Domain Frame İletişimi

Yazılarımı yazarken genelde ingilizce terimlerin varsa Türkçe karşılıklarını yoksa en yakın anlamlarını kullanmaya çalışıyorum. Ne var ki Türkçe yeterli kaynak olmadığından ve ingilizce kaynaklar çok fazla olduğundan çoğu zaman bir konu ile ilgili arama yaparken ingilizce anahtar kelimeler kullanıyorum. Bu makalenin başlığını da Parça tanımlayıcılar ile çapraz alan adı çerçeve iletişimi olarak yazmak isterdim fakat arandığında bulunabilsin diye mecburen bu şekilde yazmak durumunda kaldım.
Okumaya devam et Parça Tanımlayıcılar ile Cross Domain Frame İletişimi

valiDate – JavaScript ile Tarih Doğrulama

Uzun bir aradan sonra tekrar merhaba. Yılbaşında bahsettiğim sürpriz yazar henüz ortalarda yok. Aldığım duyumlara göre ilk yazısı hazırmış, umarım yakında burada görürüz.

Ben şimdi size valiDate’den bahsedeyim. Çalışırken javascript ile tarih doğrulaması yapma ihtiyacı doğdu. Kullanıcının gün, ay ve yıl kutularından seçtiği değerler geçerli bir tarih oluşturuyor mu test etmem gerekiyordu. Önce biraz internette araştırdım ve şurada ihtiyacımı az çok karşılayacak ufak bir betik buldum. Biraz sadeleştirme ve biraz özelleştirme ile projemde (ve gelecekte) kullanmak üzere aşağıdaki ufak fonksiyonu yazdım. Gelecekteki çalışmalarıma referans olması ve ihtiyacı olanların kullanması için buraya da ekliyorum.

function valiDate(d, m, y) {
var o = new Date(y, m - 1, d);
return o.getDate() == d && o.getMonth() + 1 == m && o.getFullYear() == y;
}