zoukankan      html  css  js  c++  java
  • 正则表达式分组捕获身份证生日和性别 和判断是否是身份证

     

    身份证类:有性别和生日

        public class IdNoMessage
        {
          public  DateTime BirthDay { get; set; }
          public  string Sex { get; set; }
          
          public  bool IsIdNo { get; set; }
        }
    

      先判断是否是身份证号,有18位和15位身份证  然后提取性别和生日

       public IdNoMessage GetIdNoData(string idNo)
            {
                var idNoData = new IdNoMessage();
                if (string.IsNullOrEmpty(idNo))
                {
                    return idNoData;
                }
                string regexStr = @"^d{6}(?<year>[1-2]d{3})(?<month>(0[1-9]|11|12))(?<day>(0[1-9]|[1-2][0-9]|30|31))d{2}(?<sex>d)[dXx]$|^d{6}(?<year>d{2})(?<month>(0[1-9]|11|12))(?<day>(0[1-9]|[1-2][0-9]|30|31))d{2}(?<sex>d)$";
                Match mat = Regex.Match(idNo, regexStr);
                if (!mat.Success)
                {
                    return idNoData;
                }
                idNoData.BirthDay = Convert.ToDateTime(mat.Groups["year"].ToString() + "-" + mat.Groups["month"].ToString() + "-" + mat.Groups["day"].ToString());
                idNoData.Sex = Convert.ToInt32(mat.Groups["sex"].ToString()) % 2 == 0 ? "F" : "M";
                idNoData.IsIdNo = true;
                return idNoData;
            }
    

      

  • 相关阅读:
    3.4 抓取猫眼电影排行
    2.5 代理的基本原理
    第二章 爬虫基础
    1.8 爬虫框架的安装
    Python序列化
    CVE-2020-1938 Apache-Tomcat-Ajp漏洞复现
    Python定制类
    Apache Tomcat DDOS
    内网端口转发工具
    内网渗透思路简单介绍
  • 原文地址:https://www.cnblogs.com/youngharvard/p/10483523.html
Copyright © 2011-2022 走看看