zoukankan      html  css  js  c++  java
  • 解析身份证

    /// <summary>
    /// 解析身份证
    /// </summary>
    /// <param name="IDCard"></param>
    /// <returns>list: 0.BIRTHDAY, 1.AGE, 2.AGEUNIT, 3.SEX</returns>
    public static List<string> GetBirthdayAgeSexFromIDCard(string IDCard)
    {
    List<string> strList = new List<string>();

    try
    {
    if (!string.IsNullOrEmpty(IDCard))
    {
    string BIRTHDAY = string.Empty;
    string SEX = string.Empty;

    if (IDCard.Length == 18)
    {
    if (FrameWorkUtility.CheckIDCardLong(IDCard))
    {
    BIRTHDAY = IDCard.Substring(6, 4) + "-" + IDCard.Substring(10, 2) + "-" + IDCard.Substring(12, 2);
    SEX = IDCard.Substring(14, 3);
    }
    else
    {
    MessageBox.Show("身份证号有误,请重新输入", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
    return null;
    }
    }
    else if (IDCard.Length == 15)
    {
    if (FrameWorkUtility.CheckIDCardShort(IDCard))
    {
    BIRTHDAY = "19" + IDCard.Substring(6, 2) + "-" + IDCard.Substring(8, 2) + "-" + IDCard.Substring(10, 2);
    SEX = IDCard.Substring(12, 3);
    }
    else
    {
    MessageBox.Show("身份证号有误,请重新输入", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
    return null;
    }
    }
    else
    {
    MessageBox.Show("请输入18位身份证号", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
    return null;
    }

    if (BIRTHDAY != null)
    {

    strList.Add(BIRTHDAY);
    List<string> strList2 = GetAgeFromBirthday(ConvertUtility.ObjectToDateTime(BIRTHDAY));
    if (strList2.Count > 1)
    {
    strList.Add(strList2[0]);
    strList.Add(strList2[1]);
    }
    }
    if (SEX != null)
    {
    if (int.Parse(SEX) % 2 == 0)
    {
    strList.Add("2");
    }
    else if (int.Parse(SEX) % 2 != 0)
    {
    strList.Add("1");
    }
    }
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }

    return strList;
    }

  • 相关阅读:
    746. 使用最小花费爬楼梯
    1283. 使结果不超过阈值的最小除数
    307. 区域和检索
    303. 区域和检索
    474. 一和零
    600. 不含连续1的非负整数
    命名规范【转】
    .NET中RabbitMq的使用
    C#中json字符串的序列化和反序列化
    c#发送post请求(带参数)
  • 原文地址:https://www.cnblogs.com/mapstar/p/10783808.html
Copyright © 2011-2022 走看看