做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。...(一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 ...public static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码...test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1.程序可以根据已有的17位数字本体码,获取对应的验证码...2.该程序可以剔除验证码不正确的身份证号码。 3.15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4.完整的身份证18位,最后一位校验位可能是非数字。
博客园 链接:http://www.cnblogs.com/xudong-bupt/p/3293838.html(点击尾部阅读原文前往) 做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码...查阅了网上的身份证号码验证算法,自己也总结一下。 (一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。...static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码...test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1、程序可以根据已有的17位数字本体码,获取对应的验证码...2、该程序可以剔除验证码不正确的身份证号码。 3、15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4、完整的身份证18位,最后一位校验位可能是非数字。
内容简介 本篇推送,将简单介绍一下怎么使用FME来验证身份证号码。 身份证号码 结构: 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。...身份证号码验证 了解过身份证的组成以及验证规则之后,下面就要开始验证了。 验证方式 身份证号的验证,可以分为这么几个部分:1、地址码验证,2、出生日期验证,3、顺序码验证,4、校验码验证。...其中地址码验证比较简单,只需提取出身份证的前6位,与县级行政区划代码做个验证即可。顺序码的验证,只需将第17位提取出来做奇偶性与性别的验证即可。所以接下来的验证将着眼于两部分:日期与校验码!...以上三种方式都能提取出日期信息,而验证也非常的简单,直接使用日期转换的方式进行验证即可,能转换成功的,就是正常的日期,不成功就是有问题的日期 开始验证 直接使用日期转换的转换器,对提取出的转换器进行了验证...所以这个身份证号码是有问题的。 ? 验证码验证 根据身份证的验证码规则,需要将身份证的每一位乘上其加权因子,然后再与11取余,得到的余数再到对应的校验码表中,查找对应的校验码。
以下是一个大家都会的小知识点,jQuery验证身份证号码,老生常谈的问题了,不过对于记忆不好理解能力又不够的我来说,还是要记录一下下了。 ? <!
做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。...(一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 ...public static void main(String[] args){ Id18 test=new Id18(); System.out.println("该身份证验证码..."+test.getValidateCode("14230219700101101")); //该身份证校验码:3 } } (三)说明 1.程序可以根据已有的17位数字本体码,获取对应的验证码...2.该程序可以剔除验证码不正确的身份证号码。 3.15位的身份证出生年份采用年份后2位,没有最后1位校验码。 4.完整的身份证18位,最后一位校验位可能是非数字。
java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Random; /** * 身份证验证的工具...(支持15位或18位省份证) * 身份证号码结构: * * 根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成...* * 校验码(第18位数): * * 十七位数字本体码加权求和公式 s = sum(Ai*Wi), i = 0..16,先对前17位数字的权求和; * Ai:表示第i位置上的身份证号码数字值...final static int[] POWER = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; /** * 身份证验证
1144828910@qq.com * User: joila * Date: 2020/7/20 * Time: 上午10:52 */ namespace FilterData; /** * 筛选身份证号码
/** * * @ClassName TestId * @author 作者:XiaoMage * @version 0.1 * @Description : * 验证身份证号码是否正确
第18位确定:将身份证号码17位数分别乘以不同系数,为7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。 将这17位数字相加除以11,得到余数。...而这个数就是最后一位身份证号码。...*/ /*************************************************** * 函 数 名: Chk18PaperId * * 函数功能: 校验18位身份证号码...is a wrong id number");} else {printf("right,is a right id");} return 0; } 15位的身份证号转为18位即可按同样方法来验证...上述代码中,没有加出生日期验证,这个可以自己写一个验证下出生日期。
大家每个人都有身份证,但是认真研究过自己那18位居民身份证号码的人可能真的不多,今天就跟大家简单聊一下身份证号码的构成形式及最后一位验证码的验证办法。...最开始呐先向大家介绍一下身份证号码的生成规则,特意找了一个最官方的文档,以下内容摘选于国家质量技术监督局编制的GB11643-1999《公民身份号码》 那么根据官方公布的以上五项标准,我们就可以自行提炼出一个居民身份证号码必须满足的一些条件了...最后一位验证码与算法结果一致 看不懂?...没关系,简单翻译并且加工一下就是: 1.身份证号码前17位数分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 2.前17位数字和系数相乘的结果相加 3.相加的数据除以11,...余数有0-10这11个数字,分别对应的身份证最后一位校验码为1,0,X,9,8,7,6,5,4,3,2(这个X其实是罗马数字的10) 根据以上我们提炼的规则我们就可以利用一些算法工具在一些简单的层面上去验证一个身份证号码的真假了
using System; /// /// 验证身份证号码 /// http://www.jbxue.com /// public class IDCardValid...IDCardValid() { // // TODO: Add constructor logic here // } } /// /// 验证身份证号码.../// /// 身份证号码 /// 验证成功为True,否则为False public static...Id.Length == 15) { bool check = CheckIDCard15(Id); return check; } else { return false; } } #region 身份证号码验证.../// /// 验证15位身份证号 /// /// 身份证号 /// 验证成功为True,
一代身份证号码是十五位, 2013年1月1日开始,咱们中国全面停止使用一代身份证了。 二代身份证号码: 1-6位:表示行政区划的代码。...0|1])[0-9]{3}([0-9]|[X])$/; // 判断格式是否正确 var format = idcard_patter.test(idcode); // 返回验证结果...,校验码和格式同时正确才算是合法的身份证号码 return last === last_no && format ?
// --身份证号码验证-支持新的带x身份证 function isIdCardNo(num) { var factorArr = new Array(...= 18 )) { // error = "输入身份证号码长度不对!"...= 17 )) { // error = "错误的身份证号码!."
对于身份证号码,经常有人只是判断身份证的位数是否为15或18位,是否全部都是数字,这种判断是错误的,因为18位身份证号码允许最后一位为X,不过必须根据特定的算法(最后一位为验证码),下面这段代码就是判断身份证号码是否合法的... function CheckAvailable(){ //获得所输入的身份证号码的值 var idcardno = document.AgtmngStaffForm.idcardno.value...= 18))) { alert("身份证号码应是15或18位数字,请输入正确!")...= getCheckDigit) { alert("您的身份证号码输入有误!")
1、描述 用java语言判断身份证号码是否有效,地区码、出身年月、校验码等验证算法 2、源代码 package test; import java.text.ParseException...检验码分别是0-10共11个数字,当检验码为“10”时,为了保证公民身份证号码18位,所以用“X”表示。...虽然校验码为“X”不能更换,但若需全用数字表示,只需将18位公民身份号码转换成15位居民身份证号码,去掉第7至8位和最后1位3个数码。 * 当今的身份证号码有15位和18位之分。...1985年我国实行居民身份证制度,当时签发的身份证号码是15位的,1999年签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。...= 18) { tipInfo = "身份证号码长度应该为15位或18位。"
身份证号码的验证及15位升18位算法 18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确的规定。...5、校验码 (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi),先对前17位数字的权求和 Ai:表示第i位置上的身份证号码数字值 Wi:表示第i位置上的加权因子 Wi
, '6', '7', '8', '9', '0', 'X' }; return numberChars; } }); 身份证验证代码...java.util.regex.Matcher; import java.util.regex.Pattern; public class IDCard { /** * 功能:身份证的有效验证...IDStr.length() == 18) { if (Ai.equals(IDStr) == false) { //errorInfo = "身份证无效,不是合法的身份证号码
function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
最近项目需要对身份证进行比较合理的筛选,并不想用到第三方接口,所以写了个方法: 包括支持身份证号合法性验证, 支持18位身份证号,支持地址编码、出生日期、校验位验证. 基本上这样就可以了....IdCodeValid:function(code){ //身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码、出生日期、校验位验证 var city={11:"北京",12:...:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "}; var row={ 'pass':true, 'msg':'验证成功...city[code.substr(0,2)]){ row={ 'pass':false, 'msg':'身份证号地址编码错误' }; }else{ //18位身份证需要验证最后一位校验位
举例: 130503 19670401 0012 这个身份证号的含义: 13 为河北,05 为邢台,03 为桥西区,出生日期为 1967 年 4 月 1 日,顺序号为 001,2 为验证码。...年 4 月 1 日,这是和 18 位号码的第一个区别; 13-15 位为顺序号,其中 15 位男为单数,女为双数; 与 18 位身份证号的第二个区别:没有最后一位的验证码。...五、身份证第 18 位(校验码)的计算方法 1、将前面的身份证号码 17 位数分别乘以不同的系数。...例如:某男性的身份证号码是 34052419800101001X。我们要看看这个身份证是不是合法的身份证。...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:PHP根据身份证号码验证、获取星座、生肖和性别函数
领取专属 10元无门槛券
手把手带您无忧上云