【C#】身份证号正确性验证及正则表达式格式验证
2021-01-28 15:16
标签:安徽 澳门 自治区 flag 奇数 identity iso href nal 身份证前两位各省对应的编号是: 1、华北地区:北京市|11,天津市|12,河北省|13,山西省|14,内蒙古自治区|15; 2、东北地区: 辽宁省|21,吉林省|22,黑龙江省|23; 3、华东地区: 上海市|31,江苏省|32,浙江省|33,安徽省|34,福建省|35,江西省|36,山东省|37; 4、华中地区: 河南省|41,湖北省|42,湖南省|43; 5、华南地区:广东省|44,广西壮族自治区|45,海南省|46; 6、西南地区: 四川省|51,贵州省|52,云南省|53,西藏自治区|54,重庆市|50; 7、西北地区: 陕西省|61,甘肃省|62,青海省|63,宁夏回族自治区|64,新疆维吾尔自治区|65; 8、特别地区:台湾地区(886)|83,香港特别行政区(852)|81,澳门特别行政区(853)|82。 省市区编码下载: 链接:https://pan.baidu.com/s/1CwGJnK0QmJidLyHY7536gw https://www.jb51.net/article/109384.htm https://tool.oschina.net/regex https://jex.im/regulex/#!flags=&re=%5E(a%7Cb)*%3F%24 【C#】身份证号正确性验证及正则表达式格式验证 标签:安徽 澳门 自治区 flag 奇数 identity iso href nal 原文地址:https://www.cnblogs.com/chuankang/p/11888104.html
提取码:q11r C#算法验证正确性
using System;
namespace ConnUtils
{
/**************************************************************************************/
/************************************身份证号码的验证*************************************/
/**************************************************************************************/
/**
* 身份证15位编码规则:dddddd yymmdd xx p
* dddddd:地区码
* yymmdd: 出生年月日
* xx: 顺序类编码,无法确定
* p: 性别,奇数为男,偶数为女
*
* 身份证18位编码规则:dddddd yyyymmdd xxx y
* dddddd:地区码
* yyyymmdd: 出生年月日
* xxx:顺序类编码,无法确定,奇数为男,偶数为女
* y: 校验码,该位数值可通过前17位计算获得
*
* 18位号码加权因子为(从右到左) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]
* 验证位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]
* 校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 )
* i为身份证号码从右往左数的 2...18 位; Y_P为脚丫校验码所在校验码数组位置
**/
public class IdentityCardValidation
{
///
正则验证格式
十八位: ^[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}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$
在线正则表达式测试
正则表达式可视化
下一篇:WPF弹性、惯性效果应用
文章标题:【C#】身份证号正确性验证及正则表达式格式验证
文章链接:http://soscw.com/index.php/essay/48290.html