zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    07-0.部署 worker 节点
    06-4.部署高可用 kube-scheduler 集群
    06-3.部署高可用 kube-controller-manager 集群
    vim 查找并替换多个匹配字符
    vim 行号的显示与隐藏
    Python学习【第4篇】:元组魔法
    Python学习【第3篇】:列表魔法
    Python学习【第2篇】:基本数据类型(详解)
    pycharm设置头文件模板(for mac)
    pycharm创建文件夹以及查看源文件存放位置(FOR MAC)
  • 原文地址:https://www.cnblogs.com/yxx24/p/10910402.html
Copyright © 2011-2022 走看看