zoukankan      html  css  js  c++  java
  • 正则表达式-身份证号码验证

    身份证号码验证,包含两代身份证,第一代和第二代身份证

    第一代身份证15位,其编码规则顺序从左至右依次为6位数字地址码,6位数字出生年份后两位及日期,3位数字顺序码。

    格式:^[1-9]d{5}d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}$  

    正则表达式分解如下:

    [1-9]d{5}:前六位地区,非0开头

    d{2} :出生年份后两位00-99

    ((0[1-9])|(10|11|12)):月份,01-12月

    (([0-2][1-9])|10|20|30|31):日期,01-31天

    d{3}:顺序码三位,没有校验码

    第二代身份证18位,其编码规则顺序从左至右依次为6位数字地址码,8位数字出生年份日期码,3位数字顺序码,1位数字校验码(X有时会出现):

    格式: ^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$

    正则表达式分解如下:

    [1-9]d{5} :前六位地区,非0开头

    (18|19|([23]d))d{2}:出身年份,覆盖范围为 1800-3999 年

    ((0[1-9])|(10|11|12)):月份,01-12月

    (([0-2][1-9])|10|20|30|31):日期,01-31天

    d{3}[0-9Xx]:顺序码三位 + 一位校验码

    程序:

     private void BtnOK_Click(object sender, RoutedEventArgs e)
            {
                if (string.IsNullOrEmpty(tbxName.Text))
                {
                    MessageBox.Show($"姓名不可为空,请重新输入!");
                    tbxName.Focus();
                    return;
                }
    
                Name = tbxName.Text;
                
                Regex re = new Regex(@"(^[1-9]d{5}d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}$)|(^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$)");
                if (re.IsMatch(tbxIDNumber.Text))
                {
                    IDNumber = tbxIDNumber.Text;
                    MessageBox.Show($"姓名:{Name},身份证号码:{IDNumber},符合规则");
                    Close();
                }
                else
                {
                    MessageBox.Show($"身份证号码格式不正确,请输入15或者18位的身份证号码。");
                    tbxIDNumber.Focus();
                }
            }
  • 相关阅读:
    javascript操作cookie实例
    由浅到深了解JavaScript类[转过来的收藏]
    [MySql识记]create utf8 database
    关于游戏开发中的A*/Astar的寻路算法的问题
    对与list<>泛型的一些操作方法
    浅谈完美时空的小气
    npgsql连接postgresql数据库
    哪个美女最漂亮,自己写的js图片自适应切换
    javascript改变this指针
    [图解] 你不知道的 JavaScript “this”(转)
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/11377475.html
Copyright © 2011-2022 走看看