using System.Text.RegularExpressions
private void fnValidateDateFormat(string strStartDate,string strEndDate)
{
Regex regexDt = new Regex("(^(((([1-9])|([0][1-9])|([1-2][0-9])|(30))\\-([A,a][P,p][R,r]|[J,j][U,u][N,n]|[S,s][E,e][P,p]|[N,n][O,o][V,v]))|((([1-9])|([0][1-9])|([1-2][0-9])|([3][0-1]))\\-([J,j][A,a][N,n]|[M,m][A,a][R,r]|[M,m][A,a][Y,y]|[J,j][U,u][L,l]|[A,a][U,u][G,g]|[O,o][C,c][T,t]|[D,d][E,e][C,c])))\\-[0-9]{4}$)|(^(([1-9])|([0][1-9])|([1][0-9])|([2][0-8]))\\-([F,f][E,e][B,b])\\-[0-9]{2}(([02468][1235679])|([13579][01345789]))$)|(^(([1-9])|([0][1-9])|([1][0-9])|([2][0-9]))\\-([F,f][E,e][B,b])\\-[0-9]{2}(([02468][048])|([13579][26]))$)");
Match mtStartDt = Regex.Match(strStartDate,regexDt.ToString());
Match mtEndDt = Regex.Match(strEndDate,regexDt.ToString());
if (mtStartDt.Success && mtEndDt.Success)
{
//piece of code
}
}
đâu là dữ liệu đến từ - nếu người dùng nhập chắc chắn tốt hơn để sử dụng một lĩnh vực ngày để xác nhận đầy đủ nó -Có một regex sẽ không nắm bắt chính xác 29 tháng hai vv – Mark
Bạn chỉ muốn ngày hợp lệ cú pháp hoặc bạn có muốn ngày thực tế hợp lệ? Ví dụ, regex có nên từ chối ngày 30 tháng 2 năm 2012 vì đó là một ngày không thể? – BunjiquoBianco
Tôi chỉ cần ngày tháng hợp lệ, mặc dù nó sẽ tốt hơn nếu regex hoàn toàn xác nhận nó. – IrfanRaza