首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

正则实现二代身份证号码验证详解

最近项目需要对身份证进行比较合理的筛选,并不想用到第三方接口,所以写了个方法: 包括支持身份证号合法性验证, 支持18位身份证号,支持地址编码、出生日期、校验位验证. 基本上这样就可以了....IdCodeValid:function(code){ //身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码、出生日期、校验位验证 var city={11:"北京",12:...city[code.substr(0,2)]){ row={ 'pass':false, 'msg':'身份证号地址编码错误' }; }else{ //18位身份证需要验证最后一位校验位...Wi)(mod 11) //加权因子 var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ]; //校验位...= code[17].toUpperCase()){ row={ 'pass':false, 'msg':'身份证校验位错误' }; } } } return

2K10

利用JavaScript中的正则表达式实现常用输入框的验证

本章主要讲:通过JavaScript中正则表达式的 应用实现(http、电话号码、邮箱、数字、字母及其数字、时间日期、身份证)等的验证。...下面看例子demo的实现过程: js中字符串处理 <script...15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X    var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;    if(reg.test...15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字   if(len == '15') {    var re_fifteen = /^(\d{6})(\d{...18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X   if(len == '18') {    var re_eighteen = /^(\d{6

1.3K60

校验身份证号码

之前在做项目的时候遇到了需要校验身份证号码,最初始的想法就是校验一下是否数字还有就是校验长度,后来想到有的身份证号的最末尾数字是X,于是又加入了一层判断末尾数为X的判断。...12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i 15位校验规则 6位地址编码+6位出生日期+3位顺序号 18位校验规则 6位地址编码+8位出生日期+3位顺序号+1位校验位...校验位规则     公式:∑(ai×Wi)(mod 11)……………………………………(1) 公式(1)中: i----表示号码字符从由至左包括校验码在内的位置序号; ai----表示第i位置上的号码字符值... 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1 有了上面的算法就产生了如何利用js...来校验身份证号码的算法了,下面请看代码 function isIdCard(cardid) { //身份证正则表达式(18位) var isIdCard2 = /^[1-

2.5K32

PHP校验15位和18位身份证号的类封装

新公司框架源码的时候,发现了这个功能,于是搜索一番并封装了一下身份证号校验的类。 目前大家的身份证号大多是 18 位的,当然,也不排除有些老人的身份证号是 15 位的。...县级市(2位) + 出生年(4位) + 出生月(2位) + 出生日(2位) + 顺序号(3位) + 校验位(1位) 相比之下, 18位 比 15位 多出生年 2位 、校验位 1位 。...校验位的计算: 有17位数字,分别是: 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 分别用身份证的前 17 位乘以上面相应位置的数字,然后相加...用获得的值在下面 11 个字符里查找对应位置的字符,这个字符就是校验位。...‘1’, ‘0’, ‘X’, ‘9’, ‘8’, ‘7’, ‘6’, ‘5’, ‘4’, ‘3’, ‘2’ 15位转18位: 从上述的分析中,可以知道,只要补充上年分和校验位就可以了。

1.1K41

新旧身份证(继承)

身份证第18位校验码的生成方法: 1、将身份证号码前17位数分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2。然后将其相加。...也即:如果余数是3,身份证第18位就是9。如果余数是2,身份证的最后一位号码就是X。...确认15位身份证正确. 2. 确认18位号码是从15位号码扩展的,且第18位校验码正确. 3. 身份证中的出生日期合法. 4. 身份证号码中不含非法字符. 5. 身份证号码的长度正确. 6....身份证目前处于有效期内. (2017年5月10日) 输入 测试数据的组数 t 第一个人姓名、出生日期年月日、15位身份证号码、18位身份证号码、签发日期年月日、有效期(100年按长期处理) 第二个人姓名...、出生日期年月日、15位身份证号码、18位身份证号码、签发日期年月日、有效期(100年按长期处理) ......

20830
领券