通过身份证号码判断男女

/// <summary>
        /// 通过身份证号码判断男女
        /// </summary>
        /// <param name="strIDCard">空:不能为空。位数:位数不对。NULL:程序异常</param>
        public static string GetSexByIDCard(string strIDCard)
        {
            try
            {
                string strSex = "";
                //获取得到输入的身份证号码
                if (string.IsNullOrEmpty(strIDCard))
                {
                    //身份证号码不能为空,如果为空返回
                    strSex = "空";
                    return strSex;
                }
                else
                {
                    //身份证号码只能为15位或18位其它不合法
                    if (strIDCard.Length != 15 && strIDCard.Length != 18)
                    {
                        strSex = "位数";
                        return strSex;
                    }
                }

                //string birthday = "";
                string sex = "";

                //处理18位的身份证号码从号码中得到生日和性别代码
                if (strIDCard.Length == 18)
                {
                    //birthday = strIDCard.Substring(6, 4) + "-" + strIDCard.Substring(10, 2) + "-" + strIDCard.Substring(12, 2);
                    sex = strIDCard.Substring(14, 3);
                }
                //处理15位的身份证号码从号码中得到生日和性别代码
                if (strIDCard.Length == 15)
                {
                    //birthday = "19" + strIDCard.Substring(6, 2) + "-" + strIDCard.Substring(8, 2) + "-" + strIDCard.Substring(10, 2);
                    sex = strIDCard.Substring(12, 3);
                }
                //textBox_Birthday.Text = birthday;

                //性别代码为偶数是女性奇数为男性
                if (int.Parse(sex)%2 == 0)
                {
                    strSex = "女";
                }
                else
                {
                    strSex = "男";
                }
                return strSex;
            }
            catch
            {

                return null;
            }
        }

支持15位和18位身份证。

时间: 2024-08-29 18:23:07

通过身份证号码判断男女的相关文章

oracle下常用查询更新命令(身份证号判断男女,更新语句多表查询)

1.update数据 UPDATE VOL_BASEINFO b SET (b.vlbi_zzmmm, b.vlbi_mzm) = (select t.zz,t.mz from MY_ZHB_2014 t where t.xh= b.vlbi_xh) where b.vlbi_xh like '14%'; 2.根据身份证号判断男女 decode(mod(to_number(substr('身份证号', 17, 1)), 2), 0, '2', '1')a.先截取身份证的倒数第二位数字b.被2整除

Java练习 份证号码组成规则是前4位是代表省份和地区 编写一个程序,通过身份证号码判断某人是否是武汉人以及其性别。

package com.swift; public class ID_Where_Male_Test { public static void main(String[] args) { /* * 中华人民共和国公民身份证号码组成规则是前4位是代表省份和地区(例如4201代表湖北省武汉市), * 第17位代表性别(奇数代表男性).编写一个程序,通过身份证号码判断某人是否是武汉人以及其性别. */ String str="420103199801010312"; if(str.subst

[笔记]根据二代居名身份证号码判断一个人的性别

身份证性别判定标准: 1.如果是15位的号码,根据最末位的奇偶数判断,双数为"女",单数为"男" 2.如果是18位的号码,根据号码的倒数第二位的奇偶数判断,双数为"女",单数为"男". 1 import java.util.Scanner; 2 public class GetSexById { 3 public static void sex(){ 4 Scanner ch=new Scanner(System.in); 5 System.out.println("请输入一个有效的身份证号码:

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

18位的身份证,前面六位代表了你户籍所在地,第七位到第十四位代表了你的出生年月,第十五位到第十七为代表了你的性别(偶数为女,奇数为男),根据这一信息,我在系统开发的录入员工的身份证后控件焦点转移时根据身份证号码获得生日和性别. 用C#写的代码如下: /// <summary> /// 在控件验证 textBox_IdentityCard 的 Validated事件中定义身份证号码的合法性并根据身份证号码得到生日和性别 /// </summary> private void text

例题:输入身份证号码,判断你是什么生肖。switch,case练习,substring 类使用联系,会用取余

Console.WriteLine("请输入您的身份证号码"); string x = Console.ReadLine(); string year=x.Substring (6,4);//从身份证的第六位开始截取,往后截取四位,就是你的出生年份 int x1 = Convert.ToInt32(year);//把截取到年份代入到x1中, string sx = ""; switch(x1%12)//输入一个年份取余,如果假设取余为四,你能判断那年的生肖,然后根据

使用Excel的函数批量判断身份证号码是否有效

一.描述 现在有一个批量上传用户的需求,其中需要上传用户名.姓名和身份证号码,进行实名批量注册,如何能快速判断用户给的身份证号是否格式正确呢?其实无论是WPS的excel还是Microsoft office中的excel都提供了函数功能,我们只要在单元中调用一定的函数就可以判断该身份证是否符合要求,如果符合,就输出Right,错误就输出Wrong. 二.源代码 =IF(LOOKUP((LEFT(C2,1)*7+MID(C2,2,1)*9+MID(C2,3,1)*10+MID(C2,4,1)*5+

身份证号码合法性判断

问题描述: 我国公民的身份证号码特点如下: 1.长度为18位: 2.第1-17位只能为数字: 3.第18位可以是数字或者小写英文字母x. 4.身份证号码的第7~14位表示持有人生日的年.月.日信息. 例如:511002198808080111或51100219880808011x. 请实现身份证号码合法性判断的函数.除满足以上要求外,需要对持有人生日的年.月.日信息进行校验.年份大于等于1900年,小于等于2100年.需要考虑闰年.大小月的情况.所谓闰年,能被4整除且不能被100整除或能被400

算法提高 身份证号码升级

问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码.验证码的计算方案: 将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余数,0-10 分别对应 1 0 x 9 8 7 6 5 4 3 2. 请编写一个程序,用户输入15位身份证号码,程序生成18位身份证号码.假设所

比较严谨的java验证18位身份证号码

/** * 我国公民的身份证号码特点如下 * 1.长度18位 * 2.第1-17号只能为数字 * 3.第18位只能是数字或者x * 4.第7-14位表示特有人的年月日信息 * 请实现身份证号码合法性判断的函数,函数返回值: * 1.如果身份证合法返回0 * 2.如果身份证长度不合法返回1 * 3.如果第1-17位含有非数字的字符返回2 * 4.如果第18位不是数字也不是x返回3 * 5.如果身份证号的出生日期非法返回4 * * @since 0.0.1 */ private int valida