Welcome to Dotnet Semarang Sign in | Join | Help

Validasi Format Tanggal dengan Regular Expression

Regular expression dapat digunakan untuk mencari / validasi berbagai pola string termasuk tanggal dalam format dd/mm/yyyy. Pola sederhana tanggal terdiri dari bilangan 0-31 untuk tanggal, 0-12 untuk bulan, dan empat digit angka untuk tahun yang dipisahkan dengan karakter garis miring (/), strip (-) atau titik (.).
Regular expression untuk format tanggal sederhana adalah sebagai berikut:

^(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)\d\d$

Regular expression di atas mengabaikan jumlah hari dalam satu bulan dan jumlah hari pada bulan pebruari untuk tahun kabisat.
Untuk mengatasi hal tersebut digunakan regular expression yang lebih kompleks sebagai berikut

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

Regular expression ini dapat digunakan untuk validasi masukan tanggal pada aplikasi web dengan javascript sehingga tidak diperlukan postback pada proses validasi.
Semoga tulisan ini dapat bermanfaat bagi semua.
Published Tuesday, August 01, 2006 12:48 PM by cahnom
Filed under:

Comments

No Comments
Anonymous comments are disabled