PDA

View Full Version : عبارت با قاعده ی مناسب برای تاریخ



samaram
چهارشنبه 06 مرداد 1389, 11:28 صبح
من میخوام تاریخ با این فرمت وارد بشه : 06/10/1389
این عبارت با قاعده رو براش ساختم و درسته :

[0-9]{4}/[0-9]{2}/[0-9]{2}

اما یه چیز دیگه کم داره. میخوام برای هر یک از بخش های تاریخ رنج مشخص کنم. یعنی مثلا قسمت روز بین 1 تا 31 باشه . قسمت ماه بین 1 تا 12 و قسمت سال هم مثلا بین 1380 تا 1400. میشه بهم بگید عبارت با قاعده ای که نوشتم رو چطور بنویسم؟

حامد مصافی
چهارشنبه 06 مرداد 1389, 11:46 صبح
خودم امتحان نكردم

1(3\d{2}|400)\/(11|12|10|0\d|\d)\/(31|0-2\d)

samaram
چهارشنبه 06 مرداد 1389, 12:32 عصر
خودم امتحان نكردم

1(3\d{2}|400)\/(11|12|10|0\d|\d)\/(31|0-2\d)
بعد تمام اون \ خطا داد. ببینید کد کامل من اینه:


if (Regex.IsMatch(textBox9.Text, " 1(3\d{2}|400)\/(11|12|10|0\d|\d)\/(31|0-2\d)") == false)

حامد مصافی
چهارشنبه 06 مرداد 1389, 13:54 عصر
\ ها را تبديل به \\ كنيد

samaram
چهارشنبه 06 مرداد 1389, 16:04 عصر
\ ها را تبديل به \\ كنيد
خطاها برطرف شد. منتها درست اعتبار سنجی نمی کنه. مثلا تاریخی مثل 23/12/1389 رو که معتبر هم هست قبول نمی کنه.

samaram
پنج شنبه 07 مرداد 1389, 10:55 صبح
کسی عبارت مناسب دیگه ای برای اعتبار سنجی تاریخ سراغ نداره؟