溫馨提示×

C#中如何通過固定規(guī)則進(jìn)行數(shù)據(jù)校驗(yàn)

c#
小樊
81
2024-09-08 02:41:09
欄目: 編程語言

在C#中,可以使用各種方法對數(shù)據(jù)進(jìn)行校驗(yàn)。這里我們將介紹一些常見的數(shù)據(jù)校驗(yàn)方法:

  1. 使用正則表達(dá)式進(jìn)行數(shù)據(jù)校驗(yàn):
using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string pattern = @"^\d{5}$"; // 校驗(yàn)5位數(shù)字
        string input = "12345";

        if (Regex.IsMatch(input, pattern))
        {
            Console.WriteLine("輸入數(shù)據(jù)符合規(guī)則");
        }
        else
        {
            Console.WriteLine("輸入數(shù)據(jù)不符合規(guī)則");
        }
    }
}
  1. 使用內(nèi)置屬性進(jìn)行數(shù)據(jù)校驗(yàn)(如StringLength,Range等):
using System.ComponentModel.DataAnnotations;

class Person
{
    [Required]
    [StringLength(10)]
    public string Name { get; set; }

    [Range(18, 65)]
    public int Age { get; set; }
}

然后你可以使用Validator類來校驗(yàn)數(shù)據(jù):

using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Person person = new Person { Name = "John", Age = 17 };

        List<ValidationResult> validationResults = new List<ValidationResult>();
        ValidationContext validationContext = new ValidationContext(person);

        bool isValid = Validator.TryValidateObject(person, validationContext, validationResults, true);

        if (isValid)
        {
            Console.WriteLine("輸入數(shù)據(jù)符合規(guī)則");
        }
        else
        {
            Console.WriteLine("輸入數(shù)據(jù)不符合規(guī)則");
            foreach (var result in validationResults)
            {
                Console.WriteLine(result.ErrorMessage);
            }
        }
    }
}
  1. 自定義數(shù)據(jù)校驗(yàn)方法:
class Program
{
    static bool IsValidEmail(string email)
    {
        return email.Contains('@') && email.Contains('.');
    }

    static void Main()
    {
        string email = "example@example.com";

        if (IsValidEmail(email))
        {
            Console.WriteLine("輸入數(shù)據(jù)符合規(guī)則");
        }
        else
        {
            Console.WriteLine("輸入數(shù)據(jù)不符合規(guī)則");
        }
    }
}

根據(jù)實(shí)際需求,可以選擇合適的數(shù)據(jù)校驗(yàn)方法。

0