这段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()); }