C# 根据身份证号码获取简易信息

public class PackIden
    {
        /// <summary>
        /// 根据身份证获取生日
        /// </summary>
        /// <param name="cardid">身份证</param>
        /// <param name="res">是否有格式(true1990-01-01,false19900101)</param>
        /// <returns></returns>
        public static string GetBirthdayByIdentityCardId(string cardid, bool res)
        {
            string birthday = string.Empty;
            System.Text.RegularExpressions.Regex regex = null;

            if (cardid.Length == 18)
            {
                regex = new Regex(@"^\d{17}(\d|x)$");
                if (regex.IsMatch(cardid))
                {
                    if (res)
                        birthday = cardid.Substring(6, 8).Insert(4, "-").Insert(7, "-");
                    else
                        birthday = cardid.Substring(6, 8);
                }
                else
                {
                    birthday = "invalid cardid";
                }
            }
            else if (cardid.Length == 15)
            {
                regex = new Regex(@"^\d{15}");
                if (regex.IsMatch(cardid))
                {
                    if (res)
                        birthday = cardid.Substring(6, 6).Insert(2, "-").Insert(5, "-");
                    else
                        birthday = cardid.Substring(6, 6);
                }
                else
                {
                    birthday = "invalid cardid";
                }
            }
            else
            {
                birthday = "invalid cardid";
            }

            return birthday;
        }

        /// <summary>
        /// 根据身份证获取身份证信息
        /// 18位身份证
        /// 0地区代码(1~6位,其中1、2位数为各省级政府的代码,3、4位数为地、市级政府的代码,5、6位数为县、区级政府代码)
        /// 1出生年月日(7~14位)
        /// 2顺序号(15~17位单数为男性分配码,双数为女性分配码)
        /// 3性别
        ///
        /// 15位身份证
        /// 0地区代码
        /// 1出生年份(7~8位年,9~10位为出生月份,11~12位为出生日期
        /// 2顺序号(13~15位),并能够判断性别,奇数为男,偶数为女
        /// 3性别
        /// </summary>
        /// <param name="cardId"></param>
        /// <returns></returns>
        public static string[] GetCardIdInfo(string cardId)
        {
            string[] info = new string[4];
            System.Text.RegularExpressions.Regex regex = null;
            if (cardId.Length == 18)
            {
                regex = new Regex(@"^\d{17}(\d|x)$");
                if (regex.IsMatch(cardId))
                {
                    info.SetValue(cardId.Substring(0, 6), 0);
                    info.SetValue(cardId.Substring(6, 8), 1);
                    info.SetValue(cardId.Substring(14, 3), 2);
                    info.SetValue(Convert.ToInt32(info[2]) % 2 != 0 ? "男" : "女", 3);
                }
            }
            else if (cardId.Length == 15)
            {
                regex = new Regex(@"^\d{15}");
                if (regex.IsMatch(cardId))
                {
                    info.SetValue(cardId.Substring(0, 6), 0);
                    info.SetValue(cardId.Substring(6, 6), 1);
                    info.SetValue(cardId.Substring(12, 3), 2);
                    info.SetValue(Convert.ToInt32(info[2]) % 2 != 0 ? "男" : "女", 3);
                }
            }

            return info;

        }

    }
时间: 2025-01-04 06:35:09

C# 根据身份证号码获取简易信息的相关文章

根据身份证号码获取身份信息

package com.hshy.util; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map; import org.apache.commons.lang.StringUtils; public class IdcardUti

通过身份证号码获取人的年龄和性别

通过身份证号码获取人的年龄和性别:身份证可以识别一个人的信息,下面就介绍一下如何利用js通过身份证号码获取当事人的年龄和性别.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂

SQL 根据身份证号码获取年龄的函数

在数据库的运用过程中,我们时常会碰到根据身份证号码来获取当前的年龄,今天我在这里写了一个函数,就是关于获取年龄的 create or replace function FUNC_COMPARE_SFZHM( sfzhm in varchar2) --输入身份证号码 return number /* 函数说明,返回值0为小于18岁:值为1是大于75岁:其他情况是返回值为2 在这个函数里用到了trunc(months_between()) 然后就是将身份证号码里的年月日组合成'yyyy-mm-dd'

IOS 根据身份证号码获取 年龄 生日 性别

/** 从身份证上获取年龄 18位身份证 */ -(NSString *)getIdentityCardAge:(NSString *)numberStr { NSDateFormatter *formatterTow = [[NSDateFormatter alloc]init]; [formatterTow setDateFormat:@"yyyy-MM-dd"]; NSDate *bsyDate = [formatterTow dateFromString:[self birth

JS通过身份证号码获取出生年月日

getBirthdayFromIdCard : function(idCard) { var birthday = ""; if(idCard != null && idCard != ""){ if(idCard.length == 15){ birthday = "19"+idCard.substr(6,6); } else if(idCard.length == 18){ birthday = idCard.substr(6

Java验证身份证号码及提取生日信息

Java学习第一站,导师给布置的作业题,验证身份证号码的合法性并提取生日信息.第一次写Java代码,第一次用博客记录学习进程,略紧张,对Java变量的命名还停留在C++的命名法阶段,吼吼~~现在开始正题.问题说明:目前,我国大部分地区都使用的是第二代身份证,第二代身份证号码的位数为18位.但公安部没有下发统一的关于停用第一代身份证的文件,第一代身份证中有15位和18位身份证号的混用.15位身份证号码:排列顺序从左至右依次为:6位数字地址码,6位数字出生日期码,3位数字顺序码,其中出生日期码不包含

python实现获取身份证号码的方法

记录瞬间 1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.2.地址码 表示编码对象常住户口所在县(县级市.旗.区)的行政区划代码,按GB/T2260的规定执行.3.出生日期码 表示编码对象出生的年.月.日,按GB/T7408的规定执行,年.月.日代码之间不用分隔符.4.顺序码 表示在同一地址码所标识的区域范围内,对同年.同月.同日出生的人编定的顺序号,顺序码的奇数分配给男性,

【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)

为了实现一个功能,需要搜集手机信息,自己先在网上找了相关信息进行了汇总,主要是汇集手机的信息,一般想要的信息在手机设置->关于手机->状态消息里面包含了手机的各种信息,下面的代码中也主要显示了那些信息,但是源码的方法我还没有看,先把总结的贴出来.先上图(太多就截取几个).  上代码啦,太多了,就写主要代码了. // 获取Android手机中SD卡存储信息 获取剩余空间 public void getSDCardInfo() { // 在manifest.xml文件中要添加 /* * <u

18位身份证号验证及信息获取

止乎于分享! IDCode18 = { validate: function (value) { if (value.length != 18) return false; var value = value.toLowerCase(); var sum = 0, v = '10x98765432', w = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2], a = '11,12,13,14,15,21,22,23,31,32,33,3