C# 正则验证公民身份证号包含15位18位

新签发的身份证号标准位数为18位,但是之前老的身份证号位数是有15位
        static void Main(string[] args)
        {
            // length=15 or 18 ^([1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3})|([1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Za-z]))$
            // length=15       ^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
            // length=18       ^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Za-z])$

            string cardid = "220123199912121234";
            // 正则验证
            if (System.Text.RegularExpressions.Regex.IsMatch(cardid, @"^([1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3})|([1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Za-z]))$"))
            {
                Console.WriteLine("true");
            }
            else
            {
                Console.WriteLine("false");
            }

            Console.ReadLine();
        }

作者最新文章
C# ASP.NET Core Web Api 与 MVC 模式下 body 参数传递,post 参数方式
C# ASP.NET Framework Web Api 模式下 body 参数传递,post 参数方式
C# 如何创建 NuGet 包(.NET Core SDK)
C# 如何创建 NuGet 包(.NET Framework)
C# .net core 读取json文件,自定义配置文件 appsetting.json