• c#根据身份证获取身份证信息


     1 /// <summary>
     2 /// 根据身份证获取身份证信息
     3 /// 18位身份证
     4 /// 0地区代码(1~6位,其中1、2位数为各省级政府的代码,3、4位数为地、市级政府的代码,5、6位数为县、区级政府代码)
     5 /// 1出生年月日(7~14位)
     6 /// 2顺序号(15~17位单数为男性分配码,双数为女性分配码)
     7 /// 3性别
     8 /// 
     9 /// 15位身份证
    10 /// 0地区代码 
    11 /// 1出生年份(7~8位年,9~10位为出生月份,11~12位为出生日期 
    12 /// 2顺序号(13~15位),并能够判断性别,奇数为男,偶数为女
    13 /// 3性别
    14 /// </summary>
    15 /// <param name="cardId"></param>
    16 /// <returns></returns>
    17 public string[] GetIdCardInfo(string cardId)
    18 {
    19   string[] info = new string[4];
    20 
    21   if (string.IsNullOrEmpty(cardId))
    22   {
    23     return info;
    24   }
    25 
    26   try
    27   {
    28     System.Text.RegularExpressions.Regex regex = null;
    29     if (cardId.Length == 18)
    30     {
    31       regex = new Regex(@"^d{17}(d|x|X)$");
    32       if (regex.IsMatch(cardId))
    33       {
    34 
    35         info.SetValue(cardId.Substring(0, 6), 0);
    36         info.SetValue(DateTime.ParseExact(cardId.Substring(6, 8), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"), 1);
    37         info.SetValue(cardId.Substring(14, 3), 2);
    38         info.SetValue(Convert.ToInt32(info[2]) % 2 != 0 ? "" : "", 3);
    39       }
    40     }
    41     else if (cardId.Length == 15)
    42     {
    43       regex = new Regex(@"^d{15}");
    44       if (regex.IsMatch(cardId))
    45       {
    46         info.SetValue(cardId.Substring(0, 6), 0);
    47         info.SetValue(DateTime.ParseExact(cardId.Substring(6, 6), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"), 1);
    48         info.SetValue(cardId.Substring(12, 3), 2);
    49         info.SetValue(Convert.ToInt32(info[2]) % 2 != 0 ? "" : "", 3);
    50       }
    51     }
    52   }
    53   catch (Exception ex)
    54   {
    55     info[0] = ex.Message;
    56   }
    57 
    58   return info;
    59 }
  • 相关阅读:
    JAVA内存管理
    计算机网络面试题一
    计算机网络面试题二
    【有容云干货-容器系列】补脑专用,容器生态圈脑图大放送
    PPT | Docker定义存储-让应用无痛运行
    有容云-容器安全,六招解决
    新IT运维时代 | Docker运维之最佳实践-下篇
    新IT运维时代 | Docker运维之最佳实践-上篇
    有容云-【原理】Docker存储驱动之AUFS
    【有容云案例系列】基于Jenkins和Kubernetes的CI工作流
  • 原文地址:https://www.cnblogs.com/yxx24/p/10910402.html
Copyright © 2020-2023  润新知