我想寫一個正則表達式在c# 將檢查日期(DD/MM/YYYY)。正則表達式生日的日期時間
任何日期(01/01/0000)或(12/12/9999)都可以。 當天時間必須從01-12, 當月時間必須從01-12, 年時間必須從0000-9999 之間,它們之間必須是「/」。
我想寫一個正則表達式在c# 將檢查日期(DD/MM/YYYY)。正則表達式生日的日期時間
任何日期(01/01/0000)或(12/12/9999)都可以。 當天時間必須從01-12, 當月時間必須從01-12, 年時間必須從0000-9999 之間,它們之間必須是「/」。
^([012]\d|30|31)/(0\d|10|11|12)/\d{4}$
應該這樣做!
我可以建議使用DateTime.TryParse
嗎?取決於用戶所在的位置,日期格式應該不同(dd/mm vs mm/dd)。當有穩定的,經過測試的現有代碼來完成這項工作時,正則表達式並不是很好。
我試圖寫在C#中的正則表達式,將檢查日期
不,你不需要寫一個正則表達式來檢查的日期。這將是一個矯枉過正的問題。您可以使用DateTime.TryParseExact方法。
DateTime date;
string someDateToCheck = "12/12/9999";
if (DateTime.TryParseExact(someDateToCheck, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
// the date was successfully parsed. You can use the date instance here
}
矯枉過正或動力不足(閏日)? –
你的RegEx會如何迴應'29/02/2012'?只需使用'DateTime.TrParse()' –
您需要的答案位於谷歌搜索的第一頁。 http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5 – David
請勿爲此使用RegEx。使用內置的解析器。 – mydogisbox