C# 数据验证Regex

发布于:2025-02-15 ⋅ 阅读:(7) ⋅ 点赞:(0)

Regular Expression,简称 Regex,是一种用于匹配和处理文本的强大工具。它通过定义特定的模式,可以用来搜索、替换或提取字符串中的特定内容。

先引入命名空间

using System.Text.RegularExpressions;

Intege(整数)

必须是正整数

        //必须是正整数
        public static bool IsPositiveInteger(string txt)
        {
            Regex objReg = new Regex(@"^[1-9]\d*$");
            return objReg.IsMatch(txt);
        }

正整数和零


        public static bool IsPositiveIntegerAndZero(string txt)
        {
            Regex objReg = new Regex(@"^[1-9]\d*|0$");
            return objReg.IsMatch(txt);
        }

     

负整数


        public static bool IsNegativeInteger(string txt)
        {
            Regex objReg = new Regex(@"^-[1-9]\d*$");
            return objReg.IsMatch(txt);
        }

正负均可


        public static bool IsInteger(string txt)
        {
            Regex objReg = new Regex(@"^-?[1-9]\d*$");
            return objReg.IsMatch(txt);
        }

Decimal(小数)

正数


        public static bool IsPositiveDecimal(string txt)
        {
            Regex objReg = new Regex(@"^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$");
            return objReg.IsMatch(txt);
        }

负数


        public static bool IsNegativeDecimal(string txt)
        {
            Regex objReg = new Regex(@"^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$");
            return objReg.IsMatch(txt);
        }

正负均可


        public static bool IsDecimal(string txt)
        {
            Regex objReg = new Regex(@"^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$");
            return objReg.IsMatch(txt);
        }

其他验证

邮箱


        public static bool IsEmail(string txt)
        {
            Regex objReg = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
            return objReg.IsMatch(txt);
        }

身份证


        public static bool IsIdentityCard(string txt)
        {
            Regex objReg = new Regex(@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$");
            return objReg.IsMatch(txt);
        }

邮箱编码

   public static bool IsPostalCode(string txt)
        {
            if (txt.Length != 6) return false;
            Regex objReg = new Regex(@"[1-9]\d{5}(?!\d)");
            return objReg.IsMatch(txt);
        }