2013-02-01 50 views

回答

1

試試這個規律expression-

^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$ 

Here

+0

感謝答案... 它可以100% –

+0

不要忘記將其標記爲正確答案。它可以幫助別人...... –

0

可以的JavaScript檢查閏年for more info

isLeap = new Date(year, 1, 29).getMonth() == 1 

正則表達式

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

這些允許但不要求在單位數月/天內的前導零。如果你不想這樣做,請替換0的所有實例?以0

+0

感謝答案,但需要的是使用Validator唯一.. –

+0

用正則表達式解析日期爲可能,但令人沮喪。很難得到正確的結果,非正則表達式嚮導難以理解這個表達式(這意味着很難證明這個事情是正確的),並且與其他選項相比,它很慢。 – Amol

+0

請參閱[this](http:// stackoverflow。COM /問題/ 4290433 /正則表達式換aspregularexpressionvalidator-與格式-MMDDYY跨越式Y),如果你沒有任何選項 – Amol

1

明白了此正則表達式還處理閏年:

^(((0 [1-9] | [12] \ d | 3 [01])/(0 [13578] | 1 [02])/((19 | [2-9] \ d)\ d {2}))|((0 [1 -9] | [12] \ d | 30)/(0 [13456789] | 1 [012])/((19 | [2-9] \ d)\ d {2}))|((0 [1 -9] | 1 \ d | 2 [0-8])/ 02 /((19 | [2-9] \ d)\ d {2}))|(29/02 /((1 [6-9 ] | [2-9] \ d)(0 [48] | [2468] [048] | [13579] [26])|((16 | [2468] [048] | [3579] [26])0 0))))$

匹配
[29/02/2000],[30/04/2003],[01/01/2003]

非匹配
[29/02/2001],[30-04-2003],[1899年1月1日]

您還可以檢查此鏈接了:http://www.codeproject.com/KB/aspnet/LengthValidation.aspx

0

你可以使用一個CustomValidator並具有客戶端驗證是簡單,並在服務器端使用DateTime.TryParse來獲得一個確定的val idation。雖然我懷疑你不需要你的代碼一直工作到9999年(不,我不能立即看到提供的正則表達式是否在未來的工作中)。

2

試試這個。這個對我有用!

ValidationExpression="(^((((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9]))-(((0[1-9])|(1[0-2]))|([1-9]))-(([0-9]{2})|(((19)|([2]([0]{1})))([0-9]{2}))))$)" 
+0

只回答爲我工作,嘗試了其他人,沒有工作,ty! – Alex

0

從微軟DN但修飾年都20XX和19XX合作,作爲DOB

^(((((0[1-9])|(1\d)|(2[0-8]))/((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))/((((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))|(((19[0-9][0-9]))|(29-02-19(([02468][048])|([13579][26]))))))$