Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Xác thực định dạng ngày tháng bằng Regex trong C#

Cách chuẩn xác để kiểm tra định dạng ngày tháng trong C# là sử dụng DateTime.TryParseExact. Phương thức này cố gắng chuyển chuỗi thành DateTime theo định dạng chỉ định, trả về true nếu thành công, false nếu thất bại.

Ví dụ minh họa

using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        string input = "08/14/2018";
        string format = "MM/dd/yyyy";
        DateTime result;

        bool isValid = DateTime.TryParseExact(
            input,
            format,
            CultureInfo.InvariantCulture,
            DateTimeStyles.None,
            out result);

        Console.WriteLine($"Định dạng hợp lệ: {isValid}");
        if (isValid)
        {
            Console.WriteLine($"Ngày tháng: {result:dd/MM/yyyy}");
        }
    }
}

Kết quả đầu ra

Định dạng hợp lệ: True
Ngày tháng: 14/08/2018

Lưu ý quan trọng: Không nên dùng Regex để validate ngày tháng vì rất khó xử lý đúng các quy tắc năm nhuận, số ngày trong tháng, v.v. TryParseExact đã xử lý sẵn mọi trường hợp đó.