电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

JS前后端實現(xiàn)身份證號驗證代碼解析

瀏覽:98日期:2024-04-29 10:57:23

前言

實名制是許多網(wǎng)站都必備的功能,因此用戶經(jīng)常需要輸入身份證號,但是我們無法連通公安局的數(shù)據(jù)庫進(jìn)行驗證身份證和姓名地址是否匹配,因此可以根據(jù)身份證生成的規(guī)則來進(jìn)行身份證格式的驗證,以下僅介紹二代身份證的驗證。

計算公式

公民身份號碼是特征組合碼,由十七位數(shù)字本體碼和一位校驗碼組成。

排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位校驗碼。

1、地址碼:表示編碼對象常住戶口所在縣(市、旗、區(qū))的行政區(qū)域劃分代碼,按GB/T2260的規(guī)定執(zhí)行。

2、出生日期碼:表示編碼對象出生的年、月、日,按GB/T7408的規(guī)定執(zhí)行,年、月、日代碼之間不用分隔符。

3、順序碼:表示在同一地址碼所標(biāo)識的區(qū)域范圍內(nèi),對同年、同月、同日出生的人編定的順序號,順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性。

4、校驗碼計算步驟:

(1)十七位數(shù)字本體碼加權(quán)求和公式:

S = Sum(Ai * Wi), i = 0, … , 16 ,先對前17位數(shù)字的權(quán)求和;Ai:表示第i位置上的身份證號碼數(shù)字值(0~9);Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (表示第i位置上的加權(quán)因子);

(2)計算模:Y = mod(S, 11);

(3)根據(jù)模,查找得到對應(yīng)的校驗碼:Y: 0 1 2 3 4 5 6 7 8 9 10 校驗碼: 1 0 X 9 8 7 6 5 4 3 2;

前端驗證

const weight = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];//十七位數(shù)字本體碼權(quán)重const validate = [’1’,’0’,’X’,’9’,’8’,’7’,’6’,’5’,’4’,’3’,’2’];//mod11,對應(yīng)校驗碼字符值function getValidateCode(id17){ let sum = 0; let mode = 0; [...id17].forEach((elem,i) => { sum=sum+parseInt(elem)*weight[i]; }); mode = sum % 11; return validate[mode];}console.log('該身份證驗證碼:'+ getValidateCode('14230219700101101'));//該身份證驗證碼:3

后端驗證(Java)

public class Id18 { int[] weight={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};//十七位數(shù)字本體碼權(quán)重 char[] validate={ ’1’,’0’,’X’,’9’,’8’,’7’,’6’,’5’,’4’,’3’,’2’};//mod11,對應(yīng)校驗碼字符值 public char getValidateCode(String id17){ int sum = 0; int mode = 0; for(int i = 0; i < id17.length(); i++){ sum=sum+Integer.parseInt(String.valueOf(id17.charAt(i)))*weight[i]; } mode = sum % 11; return validate[mode]; } public static void main(String[] args){ Id18 tes t= new Id18(); System.out.println('該身份證驗證碼:'+test.getValidateCode('14230219700101101'));//該身份證校驗碼:3 }}

總結(jié)

身份證驗證和手機(jī)號郵箱等格式驗證是一樣的,都要做前后端雙重驗證,前端驗證不通過就不勞煩后端驗證,減輕服務(wù)器的壓力;

至于一代身份證的驗證大家也可以查詢下相關(guān)的算法,在原基礎(chǔ)上改改即可,我感覺現(xiàn)在好像也沒有一代身份證了,亦或者用一代身份證的人都不怎么上網(wǎng),因此這里就不寫了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 信阳市建筑勘察设计研究院有限公司 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 一礼通 (www.yilitong.com)-企业礼品解决方案一站式服务平台 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 协议书_协议合同格式模板范本大全| 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 河南彩印编织袋,郑州饲料编织袋定制,肥料编织袋加工厂-盛军塑业 河南凯邦机械制造有限公司 | 一点车讯-汽车网站,每天一点最新车讯!| 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 超声波分散机-均质机-萃取仪-超声波涂料分散设备-杭州精浩 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 制氮设备-变压吸附制氮设备-制氧设备-杭州聚贤气体设备制造有限公司 | 筛分机|振动筛分机|气流筛分机|筛分机厂家-新乡市大汉振动机械有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 |