Hari ini selasa -> 04/Nov/2008
Amerika USA, sedang melangsungkan pemilihan
Presiden antara Obama dengan Mccain,
prediksi akan dimenangkan oleh Obama.
Tuesday, November 4, 2008
Monday, November 3, 2008
Motivasi dari Mario Teguh
Bagus untuk dipahami :
Jika anda sedang benar, jangan terlalu berani dan
bila anda sedang takut, jangan terlalu takut.
Karena keseimbangan sikap adalah penentu
ketepatan perjalanan kesuksesan anda
Tugas kita bukanlah untuk berhasil. Tugas kita
adalah untuk mencoba, karena didalam mencoba
itulah kita menemukan dan belajar membangun
kesempatan untuk berhasil
Anda hanya dekat dengan mereka yang anda
sukai. Dan seringkali anda menghindari orang
yang tidak tidak anda sukai, padahal dari dialah
Anda akan mengenal sudut pandang yang baru
Orang-orang yang berhenti belajar akan menjadi
pemilik masa lalu. Orang-orang yang masih terus
belajar, akan menjadi pemilik masa depan
Tinggalkanlah kesenangan yang menghalangi
pencapaian kecemerlangan hidup yang di
idamkan. Dan berhati-hatilah, karena beberapa
kesenangan adalah cara gembira menuju
kegagalan
Jangan menolak perubahan hanya karena anda
takut kehilangan yang telah dimiliki, karena
dengannya anda merendahkan nilai yang bisa
anda capai melalui perubahan itu
Anda tidak akan berhasil menjadi pribadi baru bila
anda berkeras untuk mempertahankan cara-cara
lama anda. Anda akan disebut baru, hanya bila
cara-cara anda baru
Ketepatan sikap adalah dasar semua ketepatan.
Tidak ada penghalang keberhasilan bila sikap
anda tepat, dan tidak ada yang bisa menolong
bila sikap anda salah
Orang lanjut usia yang berorientasi pada
kesempatan adalah orang muda yang tidak
pernah menua ; tetapi pemuda yang berorientasi
pada keamanan, telah menua sejak muda
Hanya orang takut yang bisa berani, karena
keberanian adalah melakukan sesuatu yang
ditakutinya. Maka, bila merasa takut, anda akan
punya kesempatan untuk bersikap berani
Kekuatan terbesar yang mampu mengalahkan
stress adalah kemampuan memilih pikiran yang
tepat. Anda akan menjadi lebih damai bila yang
anda pikirkan adalah jalan keluar masalah.
Jangan pernah merobohkan pagar tanpa mengetahui
mengapa didirikan. Jangan pernah mengabaikan
tuntunan kebaikan tanpa mengetahui keburukan
yang kemudian anda dapat
Seseorang yang menolak memperbarui cara-cara
kerjanya yang tidak lagi menghasilkan, berlaku
seperti orang yang terus memeras jerami untuk
mendapatkan santan
Bila anda belum menemukan pekerjaan yang sesuai
dengan bakat anda, bakatilah apapun pekerjaan
anda sekarang. Anda akan tampil secemerlang
yang berbakat
Kita lebih menghormati orang miskin yang berani
daripada orang kaya yang penakut. Karena
sebetulnya telah jelas perbedaan kualitas masa
depan yang akan mereka capai
Jika anda sedang benar, jangan terlalu berani dan
bila anda sedang takut, jangan terlalu takut.
Karena keseimbangan sikap adalah penentu
ketepatan perjalanan kesuksesan anda
Tugas kita bukanlah untuk berhasil. Tugas kita
adalah untuk mencoba, karena didalam mencoba
itulah kita menemukan dan belajar membangun
kesempatan untuk berhasil
Anda hanya dekat dengan mereka yang anda
sukai. Dan seringkali anda menghindari orang
yang tidak tidak anda sukai, padahal dari dialah
Anda akan mengenal sudut pandang yang baru
Orang-orang yang berhenti belajar akan menjadi
pemilik masa lalu. Orang-orang yang masih terus
belajar, akan menjadi pemilik masa depan
Tinggalkanlah kesenangan yang menghalangi
pencapaian kecemerlangan hidup yang di
idamkan. Dan berhati-hatilah, karena beberapa
kesenangan adalah cara gembira menuju
kegagalan
Jangan menolak perubahan hanya karena anda
takut kehilangan yang telah dimiliki, karena
dengannya anda merendahkan nilai yang bisa
anda capai melalui perubahan itu
Anda tidak akan berhasil menjadi pribadi baru bila
anda berkeras untuk mempertahankan cara-cara
lama anda. Anda akan disebut baru, hanya bila
cara-cara anda baru
Ketepatan sikap adalah dasar semua ketepatan.
Tidak ada penghalang keberhasilan bila sikap
anda tepat, dan tidak ada yang bisa menolong
bila sikap anda salah
Orang lanjut usia yang berorientasi pada
kesempatan adalah orang muda yang tidak
pernah menua ; tetapi pemuda yang berorientasi
pada keamanan, telah menua sejak muda
Hanya orang takut yang bisa berani, karena
keberanian adalah melakukan sesuatu yang
ditakutinya. Maka, bila merasa takut, anda akan
punya kesempatan untuk bersikap berani
Kekuatan terbesar yang mampu mengalahkan
stress adalah kemampuan memilih pikiran yang
tepat. Anda akan menjadi lebih damai bila yang
anda pikirkan adalah jalan keluar masalah.
Jangan pernah merobohkan pagar tanpa mengetahui
mengapa didirikan. Jangan pernah mengabaikan
tuntunan kebaikan tanpa mengetahui keburukan
yang kemudian anda dapat
Seseorang yang menolak memperbarui cara-cara
kerjanya yang tidak lagi menghasilkan, berlaku
seperti orang yang terus memeras jerami untuk
mendapatkan santan
Bila anda belum menemukan pekerjaan yang sesuai
dengan bakat anda, bakatilah apapun pekerjaan
anda sekarang. Anda akan tampil secemerlang
yang berbakat
Kita lebih menghormati orang miskin yang berani
daripada orang kaya yang penakut. Karena
sebetulnya telah jelas perbedaan kualitas masa
depan yang akan mereka capai
Harga Dollar US
Per hari ini dollar US, tetap mengalami lonjakan harga, dimana awal bulan
sep 2008, dollar masih dalam range 9000 an, sekarang per hari ini [03/Nov/2008]
berada dalam posisi 11400 (1 dollarnya).
sep 2008, dollar masih dalam range 9000 an, sekarang per hari ini [03/Nov/2008]
berada dalam posisi 11400 (1 dollarnya).
Menghilangkan Bau Mulut
Gunakan asam jawa, dimakan langsung ketika malam hari menjelang tidur,
diamkan terlebih dahulu, kemudian menjelang tidur barulah bersihkan,
dan tetap sikat gigi, tidak ada salahnya tuk dicoba.
diamkan terlebih dahulu, kemudian menjelang tidur barulah bersihkan,
dan tetap sikat gigi, tidak ada salahnya tuk dicoba.
Wednesday, July 2, 2008
Paket Telkomsel Flash
Dalam memperingati ulang tahun Telkomsel yang ke-13,
Telkomsel mengadakan paket internet unlimited,
dan kebetulan saya adalah salah satu penggunanya,
untuk hal penggurusan pengaktifkan kartu "Halo"
cukup lumayan, saya memakan waktu 2 minggu,
dikarenakan baru hari sabtu, saya bisa mengurusnya,
kalau dibandingkan dengan kartu IM2 [punya Indosat],
lebih cepat dalam pengurusannya, dan tidak memerlukan
survei rumah dan semacamnya, namun kalau dari segi
jaringannya, saya lebih prefer Telkomsel, karena
pemancar jaringannya lebih baik, di Bekasi tempat
saya tinggal, saya bisa menggunakan kecepatan 3G,
syukurlah..., bravo buat Telkomsel, untuk kemudian
harinya semoga bisa mencapai kecepatan 3,5G, dan
semoga paket ini tetap exist dan lebih kompetitif dalam
harganya, ups... hampir kelupaan dengan paket yang
paling minim saya bisa memperoleh kecepatan max 30 Kb/s,
Great for that.
Telkomsel mengadakan paket internet unlimited,
dan kebetulan saya adalah salah satu penggunanya,
untuk hal penggurusan pengaktifkan kartu "Halo"
cukup lumayan, saya memakan waktu 2 minggu,
dikarenakan baru hari sabtu, saya bisa mengurusnya,
kalau dibandingkan dengan kartu IM2 [punya Indosat],
lebih cepat dalam pengurusannya, dan tidak memerlukan
survei rumah dan semacamnya, namun kalau dari segi
jaringannya, saya lebih prefer Telkomsel, karena
pemancar jaringannya lebih baik, di Bekasi tempat
saya tinggal, saya bisa menggunakan kecepatan 3G,
syukurlah..., bravo buat Telkomsel, untuk kemudian
harinya semoga bisa mencapai kecepatan 3,5G, dan
semoga paket ini tetap exist dan lebih kompetitif dalam
harganya, ups... hampir kelupaan dengan paket yang
paling minim saya bisa memperoleh kecepatan max 30 Kb/s,
Great for that.
Monday, June 23, 2008
Pengurusan KTP yang lama
Istri dan adik saya baru saja hendak memperpanjang
KTPnya, sebelum jatuh temponya, mereka sudah mengurus
ke RT dan ke RT untuk hal itu, kemudian ke kelurahaan
yang bersangkutan, dari pihak kelurahaan berjanji per-
panjangan ini akan selesai dalam waktu 1-2 minggu,
namun hasilnya belum juga, walaupun sudah 1 bulan,
bagaimana Indonesia bisa maju, kalau hal kecil spt
ini tidak bisa diselesaikan dengan cepat, menurut
saya terlalu banyak birokrasi dan ketidak jelasan
dalam penangganan spt ini, kalau KTP Presiden dan
pejabat lainnya bisa diurus cepat, namun kalau rakyat
biasa tdk bisa cepat... sungguh membutuhkan perubahan
dalam cara kerja mereka yang terkadang santai.
KTPnya, sebelum jatuh temponya, mereka sudah mengurus
ke RT dan ke RT untuk hal itu, kemudian ke kelurahaan
yang bersangkutan, dari pihak kelurahaan berjanji per-
panjangan ini akan selesai dalam waktu 1-2 minggu,
namun hasilnya belum juga, walaupun sudah 1 bulan,
bagaimana Indonesia bisa maju, kalau hal kecil spt
ini tidak bisa diselesaikan dengan cepat, menurut
saya terlalu banyak birokrasi dan ketidak jelasan
dalam penangganan spt ini, kalau KTP Presiden dan
pejabat lainnya bisa diurus cepat, namun kalau rakyat
biasa tdk bisa cepat... sungguh membutuhkan perubahan
dalam cara kerja mereka yang terkadang santai.
Kemacetan di Jakarta
Sampai saya menulis artikel ini, dimana saya masih bekerja di Jakarta (pusat ibukota dan metropolitan Indonesia) masih dipenuhi dengan kemacetan dimana-mana, hampir disemua daerah, kepenatan dan rasa jenuh terkadang menghampiri, sebenarnya apa saja yang membuat hal itu terjadi terus dan berulang-ulang. disini saya akan menguraikan beberapa hal yang menyebabkan hal tersebut, berdasarkan pengalaman yang saya alami.
Beberapa penyebab kemacetan di Jakarta :
1. Jumlah jalan tidak bertambah, jumlah kendaraan meningkat tajam
2. Terjadi kecelakaan dijalan
a. Kecelakaan ketelodoran pengguna jalan
b. Kecelakaan alam, seperti banjir dan cuaca yang kurang baik ( setiap hujan identik dengan kemacetan )
3. Rusaknya jalan, yang tidak diperbaiki, pemerintah yang kurang sigap & masyarakat yang acuh tak acuh tentang keadaan jalan didaerahnya
4. Pengguna kendaraan yang kurang tertib dalam mengendarai, disebabkan oleh :
a. Ingin cepat sampai tujuan, dengan tergesa-gesa
b. Adanya rasa tidak ada kendali dari pihak aparat dalam menertibkan lalu lintas
c. Ingin pamer kemampuan dengan kebut-kebutan
d. Tidak adanya rambu-rambu lalu lintas yang memadai
5. Persimpangan jalan yang merupakan arus pertemuan lalu lintas
6. Jalur jalan dari yang lebar menuju jalur jalan yang lebih kecil, sehingga menyebakan ‘Bottleneck’
7. Angkutan umum yang berhenti tidak pada tempatnya, bukan dihalte, namun terkadang ditengah-tengah jalan dan lama berhentinya, jadi menghalangi jalan
8. Kurangnya mekanisme tata transportasi yang baik diIndonesia, bisa dikatakan dengan istilah ‘Banyak dan Semerawut’ bukan dengan istilah ‘Cukup dan terkendali’, misalnya kendaraan umum yang banyak dengan jalur trayek yang tumpang tindih.
9. Transportasi kereta yang kurang memadai dan keamanan yang sangat kurang, jadi membuat pengguna untuk membawa kendaraan pribadi, padahal kendaraan kereta yang baik bisa sangat membantu dalam mengantarkan para penumpang dengan waktu yang relatif lebih cepat
10. Para pejabat pemerintah yang diistimewakan, padahal mereka juga sama-sama pengguna jalan, mereka dikawal dengan jalur jalan yang lancar, dan menyebabkan macet bagi pengguna jalan yang lainnya, padahal pejabat yang bijak adalah pejabat yang juga bisa merasakan hal yang sama dengan masyarakatnya, bila mereka kena macet, mereka juga bisa memikirkan apa solusi dari masalah tersebut, bukan dibuai dengan fasilitas yang mereka miliki
Sekiranya itu saja yang baru bisa saya sampaikan ke saudara/i, dan bila ada hal-hal yang hendak ditambahkan atau masukan silakan saja, dengan senang hati untuk bertukar pikiran.
Beberapa penyebab kemacetan di Jakarta :
1. Jumlah jalan tidak bertambah, jumlah kendaraan meningkat tajam
2. Terjadi kecelakaan dijalan
a. Kecelakaan ketelodoran pengguna jalan
b. Kecelakaan alam, seperti banjir dan cuaca yang kurang baik ( setiap hujan identik dengan kemacetan )
3. Rusaknya jalan, yang tidak diperbaiki, pemerintah yang kurang sigap & masyarakat yang acuh tak acuh tentang keadaan jalan didaerahnya
4. Pengguna kendaraan yang kurang tertib dalam mengendarai, disebabkan oleh :
a. Ingin cepat sampai tujuan, dengan tergesa-gesa
b. Adanya rasa tidak ada kendali dari pihak aparat dalam menertibkan lalu lintas
c. Ingin pamer kemampuan dengan kebut-kebutan
d. Tidak adanya rambu-rambu lalu lintas yang memadai
5. Persimpangan jalan yang merupakan arus pertemuan lalu lintas
6. Jalur jalan dari yang lebar menuju jalur jalan yang lebih kecil, sehingga menyebakan ‘Bottleneck’
7. Angkutan umum yang berhenti tidak pada tempatnya, bukan dihalte, namun terkadang ditengah-tengah jalan dan lama berhentinya, jadi menghalangi jalan
8. Kurangnya mekanisme tata transportasi yang baik diIndonesia, bisa dikatakan dengan istilah ‘Banyak dan Semerawut’ bukan dengan istilah ‘Cukup dan terkendali’, misalnya kendaraan umum yang banyak dengan jalur trayek yang tumpang tindih.
9. Transportasi kereta yang kurang memadai dan keamanan yang sangat kurang, jadi membuat pengguna untuk membawa kendaraan pribadi, padahal kendaraan kereta yang baik bisa sangat membantu dalam mengantarkan para penumpang dengan waktu yang relatif lebih cepat
10. Para pejabat pemerintah yang diistimewakan, padahal mereka juga sama-sama pengguna jalan, mereka dikawal dengan jalur jalan yang lancar, dan menyebabkan macet bagi pengguna jalan yang lainnya, padahal pejabat yang bijak adalah pejabat yang juga bisa merasakan hal yang sama dengan masyarakatnya, bila mereka kena macet, mereka juga bisa memikirkan apa solusi dari masalah tersebut, bukan dibuai dengan fasilitas yang mereka miliki
Sekiranya itu saja yang baru bisa saya sampaikan ke saudara/i, dan bila ada hal-hal yang hendak ditambahkan atau masukan silakan saja, dengan senang hati untuk bertukar pikiran.
Sunday, January 27, 2008
Tutup Usia Mantan Presiden RI H.Soeharto
Hari ini (27/01/2008, minggu) mantan presiden RI H.Soeharto
menutup usia di RSPP (Rumah Sakit Pusat Pertamina)
pada pukul 13.10 WIB, Semoga ia dapat diterima disisi-Nya
dan keluarganya diberikan ketabahan dalam menjalani
hidup ini, Selamat jalan pak Harto.
menutup usia di RSPP (Rumah Sakit Pusat Pertamina)
pada pukul 13.10 WIB, Semoga ia dapat diterima disisi-Nya
dan keluarganya diberikan ketabahan dalam menjalani
hidup ini, Selamat jalan pak Harto.
Sekilas Bandung
Tempat yang baik untuk dikunjungi, saat bulan
madu, kami (saya dan istriku) berkunjung ke sana,
kami menginap di hotel Cipaku, yang letaknya
didaerah Setiabudi, disana suasananya asri,
masih terlihat banyak dedaunan, waktu tempuh
dari Bekasi ke Bandung menempuh waktu kurang
lebih 2 jam, kami keluar dari tol pasture,
kehidupan disana sangat beraneka ragam,
begitu juga jenis makanan disana, disana
mereka lebih kreatif dalam menyajikan menu
makanan dan desain bangunan, kami juga berkunjung
ke mall Paris Van Java, on Setibudi, mall yang
padat bila berjalan2 pada malam mingguan, dengan
desain pertokoan didalam dan diluar membuat
mall ini bernuansa spt mall diluar negeri,
oh iya kami juga berkunjung mall Premier
& mall CiWalk didaerah Cihampelas, kami merekomendasikan
mall CiWalk, karena nuansana yg berbeda juga,
beberapa hari disana, belum juga membuat kami
hapal jalan disana, dikarena arus jalan yang
terkadang sering berubah2, dan kalau ingin
membeli buah tangan disana, kita bisa berkunjung
didaerah Kebun Kawung, dekat stasiun kereta Bandung,
disana menjual aneka jenis makanan khas Bandung,
enak kok, silakan untuk mencobanya, masakan
Ikan Cianjur juga enak untuk dicoba, berada
dijalur Setiabudi juga, have a nice day on
Bandung.
madu, kami (saya dan istriku) berkunjung ke sana,
kami menginap di hotel Cipaku, yang letaknya
didaerah Setiabudi, disana suasananya asri,
masih terlihat banyak dedaunan, waktu tempuh
dari Bekasi ke Bandung menempuh waktu kurang
lebih 2 jam, kami keluar dari tol pasture,
kehidupan disana sangat beraneka ragam,
begitu juga jenis makanan disana, disana
mereka lebih kreatif dalam menyajikan menu
makanan dan desain bangunan, kami juga berkunjung
ke mall Paris Van Java, on Setibudi, mall yang
padat bila berjalan2 pada malam mingguan, dengan
desain pertokoan didalam dan diluar membuat
mall ini bernuansa spt mall diluar negeri,
oh iya kami juga berkunjung mall Premier
& mall CiWalk didaerah Cihampelas, kami merekomendasikan
mall CiWalk, karena nuansana yg berbeda juga,
beberapa hari disana, belum juga membuat kami
hapal jalan disana, dikarena arus jalan yang
terkadang sering berubah2, dan kalau ingin
membeli buah tangan disana, kita bisa berkunjung
didaerah Kebun Kawung, dekat stasiun kereta Bandung,
disana menjual aneka jenis makanan khas Bandung,
enak kok, silakan untuk mencobanya, masakan
Ikan Cianjur juga enak untuk dicoba, berada
dijalur Setiabudi juga, have a nice day on
Bandung.
Wednesday, October 24, 2007
Our Wedding Invitation
Dear Friend
Sebentar lagi kami akan melepaskan masa-masa kesendirian kami, masa-masa pencarian selama ini, dan masa-masa tersebut mengajarkan kami tuk setia satu sama lain, dan menghormati & menghargai satu sama lain.
Syukur pada Tuhan yang telah mempertemukan kami dalam ikatan cinta kasih dan berkenan menyatukan kami berdua, tuk menjadi satu, sebentar lagi kami akan menempuh bahtera hidup kami dan perkenankanlah kami mengundang teman-teman untuk menjadi bagian dalam acara bahagia kami yakni pernikahan kami, maafkan kami bila kami tidak bisa mengirimkan undangan secara fisik karena keterbatasan yang kami miliki.
Mohon doa dari teman-teman sekalian semoga semuanya dapat berjalan dengan baik, dan kami dapat mengarungi bahtera hidup kami dengan baik.
PEMBERKATAN PERNIKAHAN :
=============================
Sabtu, 27 Oktober 2007
Pukul 10.00 WIB – Selesai
Gereja Santo Arnoldus Yanssen
Jl. Ir. H. Juanda No.164
Bekasi
RESEPSI PERNIKAHAN :
=============================
Sabtu, 27 Oktober 2007
Pukul 19.00 – 21.00 WIB
Harapan Indah Club
Jl. Raya Harapan Indah,
Medan Satria
Bekasi
“Ia membuat segala sesuatu indah pada waktu-Nya”
Best Regard
Deddy & Ika
Wednesday, October 10, 2007
Regular Expression Matching a Valid Date - Regex
When i learn about regex, at first i look this script nothing on my head =(, and after i look an information for this, i get the point, and may this information will
help you
(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01]) Analyze this regular expression with RegexBuddy matches a date in yyyy-mm-dd format from between 1900-01-01 and 2099-12-31, with a choice of four separators. The year is matched by (19|20)\d\d. I used alternation to allow the first two digits to be 19 or 20. The round brackets are mandatory. Had I omitted them, the regex engine would go looking for 19 or the remainder of the regular expression, which matches a date between 2000-01-01 and 2099-12-31. Round brackets are the only way to stop the vertical bar from splitting up the entire regular expression into two options.
The month is matched by 0[1-9]|1[012], again enclosed by round brackets to keep the two options together. By using character classes, the first option matches a number between 01 and 09, and the second matches 10, 11 or 12.
The last part of the regex consists of three options. The first matches the numbers 01 through 09, the second 10 through 29, and the third matches 30 or 31.
Smart use of alternation allows us to exclude invalid dates such as 2000-00-00 that could not have been excluded without using alternation. To be really perfectionist, you would have to split up the month into various options to take into account the length of the month. The above regex still matches 2003-02-31, which is not a valid date. Making leading zeros optional could be another enhancement.
If you want to require the delimiters to be consistent, you could use a backreference. (19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01]) will match 1999-01-01 but not 1999/01-01.
Again, how complex you want to make your regular expression depends on the data you are using it on, and how big a problem it is if an unwanted match slips through. If you are validating the user's input of a date in a script, it is probably easier to do certain checks outside of the regex. For example, excluding February 29th when the year is not a leap year is far easier to do in a scripting language. It is far easier to check if a year is divisible by 4 (and not divisible by 100 unless divisible by 400) using simple arithmetic than using regular expressions.
Here is how you could check a valid date in Perl. Note that I added anchors to make sure the entire variable is a date, and not a piece of text containing a date. I also added round brackets to capture the year into a backreference.
sub isvaliddate {
my $input = shift;
if ($input =~ m!^((?:19|20)\d\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$!) {
# At this point, $1 holds the year, $2 the month and $3 the day of the date entered
if ($3 == 31 and ($2 == 4 or $2 == 6 or $2 == 9 or $2 == 11)) {
return 0; # 31st of a month with 30 days
} elsif ($3 >= 30 and $2 == 2) {
return 0; # February 30th or 31st
} elsif ($2 == 2 and $3 == 29 and not ($1 % 4 == 0 and ($1 % 100 != 0 or $1 % 400 == 0))) {
return 0; # February 29th outside a leap year
} else {
return 1; # Valid date
}
} else {
return 0; # Not a date
}
}
To match a date in mm/dd/yyyy format, rearrange the regular expression to (0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d Analyze this regular expression with RegexBuddy. For dd-mm-yyyy format, use (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d Analyze this regular expression with RegexBuddy.
help you
(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01]) Analyze this regular expression with RegexBuddy matches a date in yyyy-mm-dd format from between 1900-01-01 and 2099-12-31, with a choice of four separators. The year is matched by (19|20)\d\d. I used alternation to allow the first two digits to be 19 or 20. The round brackets are mandatory. Had I omitted them, the regex engine would go looking for 19 or the remainder of the regular expression, which matches a date between 2000-01-01 and 2099-12-31. Round brackets are the only way to stop the vertical bar from splitting up the entire regular expression into two options.
The month is matched by 0[1-9]|1[012], again enclosed by round brackets to keep the two options together. By using character classes, the first option matches a number between 01 and 09, and the second matches 10, 11 or 12.
The last part of the regex consists of three options. The first matches the numbers 01 through 09, the second 10 through 29, and the third matches 30 or 31.
Smart use of alternation allows us to exclude invalid dates such as 2000-00-00 that could not have been excluded without using alternation. To be really perfectionist, you would have to split up the month into various options to take into account the length of the month. The above regex still matches 2003-02-31, which is not a valid date. Making leading zeros optional could be another enhancement.
If you want to require the delimiters to be consistent, you could use a backreference. (19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01]) will match 1999-01-01 but not 1999/01-01.
Again, how complex you want to make your regular expression depends on the data you are using it on, and how big a problem it is if an unwanted match slips through. If you are validating the user's input of a date in a script, it is probably easier to do certain checks outside of the regex. For example, excluding February 29th when the year is not a leap year is far easier to do in a scripting language. It is far easier to check if a year is divisible by 4 (and not divisible by 100 unless divisible by 400) using simple arithmetic than using regular expressions.
Here is how you could check a valid date in Perl. Note that I added anchors to make sure the entire variable is a date, and not a piece of text containing a date. I also added round brackets to capture the year into a backreference.
sub isvaliddate {
my $input = shift;
if ($input =~ m!^((?:19|20)\d\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$!) {
# At this point, $1 holds the year, $2 the month and $3 the day of the date entered
if ($3 == 31 and ($2 == 4 or $2 == 6 or $2 == 9 or $2 == 11)) {
return 0; # 31st of a month with 30 days
} elsif ($3 >= 30 and $2 == 2) {
return 0; # February 30th or 31st
} elsif ($2 == 2 and $3 == 29 and not ($1 % 4 == 0 and ($1 % 100 != 0 or $1 % 400 == 0))) {
return 0; # February 29th outside a leap year
} else {
return 1; # Valid date
}
} else {
return 0; # Not a date
}
}
To match a date in mm/dd/yyyy format, rearrange the regular expression to (0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d Analyze this regular expression with RegexBuddy. For dd-mm-yyyy format, use (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d Analyze this regular expression with RegexBuddy.
Subscribe to:
Posts (Atom)
Hukum Tabur Tuai
Ingatlah hukum dasar ini, dalam kehidupanmu Barang siapa yang menanam, dia pula yang akan menuai
-
To solve this issue : The file "D:\Databases\TwaDev.mdf" is compressed but does not reside in a read-only database or filegrou...
-
Didalam proses pengiriman barang / produk kita mengenal istilah “Franco”, seperti dijual jam tangan produk Singapore. Dan produk tersebut d...