c#

C#中如何通过固定规则进行数据校验

小樊
87
2024-09-08 02:41:09
栏目: 编程语言

在C#中,可以使用各种方法对数据进行校验。这里我们将介绍一些常见的数据校验方法:

  1. 使用正则表达式进行数据校验:
using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string pattern = @"^\d{5}$"; // 校验5位数字
        string input = "12345";

        if (Regex.IsMatch(input, pattern))
        {
            Console.WriteLine("输入数据符合规则");
        }
        else
        {
            Console.WriteLine("输入数据不符合规则");
        }
    }
}
  1. 使用内置属性进行数据校验(如StringLengthRange等):
using System.ComponentModel.DataAnnotations;

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

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

然后你可以使用Validator类来校验数据:

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("输入数据符合规则");
        }
        else
        {
            Console.WriteLine("输入数据不符合规则");
            foreach (var result in validationResults)
            {
                Console.WriteLine(result.ErrorMessage);
            }
        }
    }
}
  1. 自定义数据校验方法:
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("输入数据符合规则");
        }
        else
        {
            Console.WriteLine("输入数据不符合规则");
        }
    }
}

根据实际需求,可以选择合适的数据校验方法。

0
看了该问题的人还看了