JavaScript18位身份证验证及身份证号码规则JavaScript开发开发语言与工具

7-14位出生年月日,比如19670401代表1967年4月1日;15-17位为顺序号,其中17位男为单数,女为双数;18位为校验码,0-9和X,由公式随机产生;

举例:340523198001010013这个身份证号的含义:34为安徽省05为马鞍山市23为和县19800101为出生日期(1980年1月1日)001为顺序号(1为单数,代表为男性)3为验证码

北京市(110000BJ)天津市(120000TJ)河北省(130000HE)山西省(140000SX)内蒙古自治区(150000NM)辽宁省(210000LN)吉林省(220000JL)黑龙江省(230000HL)上海市(310000SH)江苏省(320000JS)浙江省(330000ZJ)安徽省(340000AH)福建省(350000FJ)江西省(360000JX)山东省(370000SD)河南省(410000HA)湖北省(420000HB)湖南省(430000HN)广东省(440000GD)广西壮族自治区(450000GX)海南省(460000HI)重庆市(500000CQ)四川省(510000SC)贵州省(520000GZ)云南省(530000YN)西藏自治区(540000XZ)陕西省(610000SN)甘肃省(620000GS)青海省(630000QH)宁夏回族自治区(640000NX)新疆维吾尔自治区(650000XJ)台湾省(710000Tw)香港特别行政区(810000HK)澳门特别行政区(820000Mo)

举例:某男性的身份证号码是340523198001010013。我们要看看这个身份证是不是合法的身份证。

首先我们得出前17位的乘积和:(3*7+4*9+0*10+5*5+2*8+3*4+1*2+9*1+8*6+0*3+0*7+1*9+0*10+1*5+0*8+0*4+1*2)=185然后再求余:185%11=9最后通过对应规则就可以知道余数9对应的数字是3。所以,可以判定这是一个合格的身份证号码。JavaScript校验18位身份证varcity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};varID='340523198001010013';首先校验位数是否是18位:

if(!/^\d{17}(\d|x)$/i.test(ID))returnfalse;//\d匹配数字//^匹配开始//$匹配结尾//i不区分大小写//{17}匹配17次//\d|x匹配数字或x然后校验开头两位是否是合法的省(直辖市/自治区):

if(city[ID.substr(0,2)]===undefined)return"非法地区";//stringObject.substr(start,length)方法可在字符串中抽取从start下标开始的指定数目的字符//访问对象属性时除了可以用点(.)语法外,也可以用中括号([]),用中括号时更灵活然后再校验出生日期是否合法:

varbirthday=ID.substr(6,4)+'/'+Number(ID.substr(10,2))+'/'+Number(ID.substr(12,2));vard=newDate(birthday);varnewBirthday=d.getFullYear()+'/'+Number(d.getMonth()+1)+'/'+Number(d.getDate());varcurrentTime=newDate().getTime();vartime=d.getTime();if(time>=currentTime||birthday!==newBirthday)return'非法生日';//获取身份证的年月日,然后再new一个Date,再对比这两个日期是否一致//这里用Number()主要是因为身份证的日期是带0的,而newDate()出来的日期是不带0的,Number()之后就都不带0了最后判断校验码是否正确:

vararrInt=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];vararrCh=['1','0','X','9','8','7','6','5','4','3','2'];varsum=0,i,residue;for(i=0;i<17;i++){sum+=ID.substr(i,1)*arrInt[i];}residue=arrCh[sum%11];if(residue!==ID.substr(17,1))'非法证号';如果以上校验都通过了,则是一个合法的身份证号;

?2006-2018深度开源——开源项目,开源代码,开源文档,开源新闻,开源社区杭州精创信息技术有限公司

THE END
1.pta查验身份证c++实现输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。 输出格式: 按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed。 https://blog.csdn.net/weixin_69158923/article/details/144385309
2.java校验中国护照号码mob64ca12e1881c的技术博客15. 16. 17. 18. 19. 20. 21. 在上面的代码中,我们定义了一个正则表达式PASSPORT_REGEX,用于匹配有效的护照号码。isValidPassportNumber方法接收一个字符串并返回验证结果。 测试和结果 我们定义了一组测试护照号码,结果将会输出每个护照号是否有效: https://blog.51cto.com/u_16213369/12795739
3.公民身份号码的第18位为,如果校验码为10,则用代替。1.日常生活中,人民警察基于履行职责的需要,依法有权查验居民身份证,我们必须配合,这是我们作为公民的法定 。 发布:2024/12/10 18:0:1组卷:10引用:4难度:0.8 解析 2.公民身份号码由( )位数字组成。 A.17 B.18 C.19 D.20 发布:2024/12/11 23:0:1组卷:6引用:10难度:0.5 解析 3. 是每个公民唯一的https://www.jyeoo.com/shiti/2b10868c-d15a-1575-bc5d-62e8fc254367
4.72385.cσm.7229查询精选16码,实地验证策略数据随着区块链技术的发展和数字货币市场的成熟,"72385.cσm.7229查询精选16码"有望进一步优化其功能,为用户提供更加精准和全面的交易策略数据。未来,工具可能会集成更多的数据源和算法,以适应市场的不断变化。 结论 "72385.cσm.7229查询精选16码"作为一项实地验证策略数据工具,在数字货币市场中扮演着越来越重要的角http://jczxy120.com/post/9048.html
5.android身份证号码验证在移动应用开发中,身份证号码验证是一个至关重要的环节,尤其是在涉及用户个人信息的场景下。Android平台上的身份证号码验证涉及到正则表达式的运用、逻辑判断的处理以及错误信息提示等方面。下面,我将深入http://share.office369.com/yingyong/102588.html
6.身份证查询身份证号码查询身份证号大全和真实姓名ip138身份证号码查询系统提供身份证号码查询,身份证查询系统,身份证号码和姓名,居民身份证号码大全,验证身份证真实性和照片对比。https://qq.ip138.com/idsearch/index.asp?userid=410621030805400&action=upto18
7.身份证最后一位的奥秘然而,很多人对身份证的构成并不十分了解,尤其是身份证号码的最后一位数字,它实际上具有重要的意义。本文将深入探讨身份证最后一位数字的含义、计算方法以及其在社会中的重要作用。一、身份证号码的构成 身份证号码由18位数字组成,前17位为数字,最后一位可以是数字0-9或字母X。整个身份证号码可以分为几个部分https://baijiahao.baidu.com/s?id=1818309790197184734&wfr=spider&for=pc
8.Excel函数教程我们知道,当今的身份证号码有15/18位之分。早期签发的身份证号码是15位的,现在签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。这两种身份证号码将在相当长的一段时期内共存。两种身份证号码的含义如下: (1)15位的身份证号码:1~6位为地区代码,7~8位为出生年份(2位),9~10位http://www.360doc.com/content/11/0305/21/1444297_98449311.shtml
9.重庆市2024年度考试录用公务员报考指南1.非普通高等学历教育的其他国民教育形式的毕业生是否可以报考? 按照有关法律规定,法官助理、检察官助理等职位需要全日制普通高等学历(学位)的人员才能报考。非普通高等学历教育的其他国民教育形式(自学考试、成人教育、网络教育、夜大、电大等)毕业生取得毕业证后,符合《公告》及招考职位要求的资格条件的,可以报考。 http://www.cq.gov.cn/zwgk/zfxxgkzl/fdzdgknr/zkly/zkgg/202401/t20240130_12954104.html
10.身份证号码吉凶算命查询身份证号码校验15位身份证号码转18位身份号码吉凶查询,自古有云:谋事在人,成事在天。究竟我们可否争取主动,反过来操控自己的命运呢?答案是肯定的。现在我们就可以用身份证号来测试你的性格、爱情、事业与未来,让你更能掌握未来,迈出成功的第一步。本系统绝不会记录算命者的信息,请放心使用!http://bmfsm.net/sfz/
11.身份证最后一位是X的人,受了多少苦?身份证里有X的人很特别,特别麻烦https://m.36kr.com/p/1933455211022721
12.原来身份证号码中包含着很多重要信息,而第十七位可以看出性别?第18位是校验码,主要目的就是为了验证身份证号码前面的17位数是否正确(也可以有效识别假身份证),它的取值范围是从0到10,但当得出的值是10的时候,总不能多出一位,于是就用罗马数字符的X来表示,这也是为什么有些人的身份证号码中有字母X的原因,所以请不要把你的身份证号码这样重要的信息,随便透露给别人。https://dy.163.com/v2/article/detail/EC5I7DP30515GP02.html
13.知道姓名如何查询身份证号码本篇将详细为大家解答“知道姓名如何查询身份证号码”这个问题。无法查到的。至少个人,或者无直属关系的组织,都无法查到。并且,比如我这假设使用公安的内部系统,现在也不是全国同步的,只有一些大城市的地方开始……https://mip.64365.com/zs/1301851.aspx
14.身份证上的“X”,究竟该怎么读?身份证上的公民身份号码 最后一位“Ⅹ”的误认、误读 曾引起社会的广泛议论 “Ⅹ”表示的是罗马数字“10” 读作shí最为妥当 不少网友表示: “涨知识了” 据江苏警方介绍 公民身份号码共有18位数字 6位地址码 按照《中华人民共和国行政区划代码》 https://m.gmw.cn/2023-12/25/content_1303611496.htm
15.身份证号码编码规则申明:本文除特别说明外,身份证号码专指18位公民身份号码 一、身份证号码结构 早期‘身份证号码’叫‘社会保障号’,为15位,1999年开始更名为公民身份证号码,即第二代身份证,为18位,且终身不变。 430512198908131367 公民身份号码是特征组合码,由前十七位数字本体码和最后一位数字校验码组成。排列顺序从左至右依次https://www.jianshu.com/p/07c7ee44579c