C#验证身份证是否合法的函数

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

这段C#代码主要是验证身份证的开头和身份证的格式和长度是否正确,没有按照身份证的编码规则进行严格验证

/// <summary>
        /// 验证身份证是否合法
        /// </summary>
        /// <param name="idCard">要验证的身份证</param>       
        public static bool IsIdCard(string idCard)
        {
            //如果为空,认为验证合格
            if (IsNullOrEmpty(idCard))
            {
                return true;
            }
 
            //清除要验证字符串中的空格
            idCard = idCard.Trim();
 
            //模式字符串
            StringBuilder pattern = new StringBuilder();
            pattern.Append(@"^(11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|");
            pattern.Append(@"50|51|52|53|54|61|62|63|64|65|71|81|82|91)");
            pattern.Append(@"(\d{13}|\d{15}[\dx])$");
 
            //验证
            return RegexHelper.IsMatch(idCard, pattern.ToString());
        }