首页
学习
活动
专区
工具
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

2.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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.2K41

    新旧身份证(继承)

    身份证第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年按长期处理) ......

    27230

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

    本章主要讲:通过JavaScript中正则表达式的 应用实现(http、电话号码、邮箱、数字、字母及其数字、时间日期、身份证)等的验证。...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...time >= 0 && time <= 130) {     return true;    }    return false;   }   return false;  };  //校验位的检测

    1.4K60

    Hive进行身份证合法性校验

    ,使用一个Hive查询实现身份证号码的合法性验证。...该查询结果是所有不合规的身份证号码。按以下身份证号码的定义规则建立查询。 身份证18位分别代表的含义,从左到右方分别表示: 1-2 省级行政区代码。 3-4 地级行政区划分代码。...身份证校验码的计算方法: 将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。...|(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-9X]$',1,0))) = 0 -- 校验位不正确...首先判断号码长度和省份代码,然后利用Hive的正则表达式匹配函数对整个号码做逐位判断,最后检查校验位是否正确。

    3.1K20
    领券