身份证验证

                                    身份证验证

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015  C#

作者: 李杨

撰写时间:2019-06-25

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

身份证验证就要用到正则了。

二代身份证,身份证号就是十八位。一代身份证号码就是十五位,不过现在一代的身份已经基本没有用了。因为13年开始,我们国家就已经停止使用一代身份证了。

所以现在写代码的话,就只需要验证十八位的身份证就好了。

 

身份证号呢,它分为五部分,

例如:513023198808261786

 

前六位呢就是表示行政区划的代码。

第一第二位

表示的是所在的省或者直辖市、自治区的代码。

三四位呢

就是表示所在的地级市的代码。

五六位,

表示的是所在的县级的代码。

七到十四位:

表示的是你的出生年月日

十五到十六呢就是

,所在的地方的派出所的代码

第十七位

就是表示的性别。奇数就是男的(1、3、5、7、9)偶数就是女的(2、4、6、8、0).

然后最后就是第十八位

是校验位,存在是一个值:0、1、2、3、4、5、6、7、8、9、X,它的值是固定公式根据前面十七位算出来的。

 

所以前端JS代码验证省份证号只需要验证十八位就好了。

如图:

身份证验证_第1张图片

然后要调用的封装的方法去验证

先是声明一个变量:列出每个地区省的编号

然后后面就是验证十八位的身份证号,

我们先要测试出生日期的合法性

然后因为我们有平年和闰年。

所以出生的合法日期就要用两种来验证。

1:ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;

上面这一种正则验证日期呢就是闰年出生日期的合法性正则表达式

2:ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;

第二种呢就是平年的出生日期的合法性的正则验证

 

如图:(代码来源于老师)

 

身份证验证_第2张图片

 

 

大致的身份证验证就是这个样子了。

 

你可能感兴趣的:(身份证验证)