亲宝软件园·资讯

展开

C#根据身份证号码判断生日性别 C#根据身份证号码判断出生日期和性别

※WYF※ 人气:0
想了解C#根据SFZ号码判断出生日期和性别的相关内容吗,※WYF※在本文为您仔细讲解C#根据SFZ号码判断生日性别的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#根据SFZ号码判断生日,C#根据SFZ号码判断性别,C#SFZ号判断出生日期,下面大家一起来学习吧。

18位的SFZ,前面六位代表了你户籍所在地,第七位到第十四位代表了你的出生年月,第十五位到第十七为代表了你的性别(偶数为女,奇数为男),根据这一信息,我在系统开发的录入员工的SFZ后控件焦点转移时根据SFZ号码获得生日和性别。 

用C#写的代码如下:

/// <summary>
/// 在控件验证 textBox_IdentityCard 的 Validated事件中定义SFZ号码的合法性并根据SFZ号码得到生日和性别 
/// </summary>
private void textBox_IdentityCard_Validated(object sender, EventArgs e)
{
  try
  {
    //获取得到输入的SFZ号码
    string identityCard = textBox_IdentityCard.Text.Trim();
    if (string.IsNullOrEmpty(identityCard))

    {

      //SFZ号码不能为空,如果为空返回

      MessageBox.Show("SFZ号码不能为空!");

      if (textBox_IdentityCard.CanFocus)

      {

        textBox_IdentityCard.Focus();//设置当前输入焦点为textBox_IdentityCard

      }

      return;

    }

    else

    {

      //SFZ号码只能为15位或18位其它不合法

      if (identityCard.Length != 15 && identityCard.Length != 18)

      {

        MessageBox.Show("SFZ号码为15位或18位,请检查!");

        if (textBox_IdentityCard.CanFocus)

        {

          textBox_IdentityCard.Focus();

        }

        return;

      }

    }
    string birthday = "";
    string sex = "";
    //处理18位的SFZ号码从号码中得到生日和性别代码
    if (identityCard.Length == 18)
    {
      birthday = identityCard.Substring(6, 4) + "-" + identityCard.Substring(10, 2) + "-" + identityCard.Substring(12, 2);
      sex = identityCard.Substring(14, 3);

    }<br>

    //处理15位的SFZ号码从号码中得到生日和性别代码
    if (identityCard.Length == 15)
    {
      birthday = "19" + identityCard.Substring(6, 2) + "-" + identityCard.Substring(8, 2) + "-" + identityCard.Substring(10, 2);
      sex = identityCard.Substring(12, 3);
    }<br>
    textBox_Birthday.Text = birthday;
    //性别代码为偶数是女性奇数为男性
    if (int.Parse(sex) % 2 == 0)
    {
      this.comboBox_Sex.Text = "女";
    }

    else
    {
      this.comboBox_Sex.Text = "男";
    }
  }
  catch (Exception ex)

  {

    MessageBox.Show("SFZ号码输入有误");
    if (textBox_IdentityCard.CanFocus)
    {
      textBox_IdentityCard.Focus();
    }
    return;
  }
}

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论