国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

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

前言

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

計(jì)算公式

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

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

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

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

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

4、校驗(yàn)碼計(jì)算步驟:

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

S = Sum(Ai * Wi), i = 0, … , 16 ,先對(duì)前17位數(shù)字的權(quán)求和;Ai:表示第i位置上的身份證號(hào)碼數(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)計(jì)算模:Y = mod(S, 11);

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

前端驗(yàn)證

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,對(duì)應(yīng)校驗(yàn)碼字符值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('該身份證驗(yàn)證碼:'+ getValidateCode('14230219700101101'));//該身份證驗(yàn)證碼:3

后端驗(yàn)證(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,對(duì)應(yīng)校驗(yàn)碼字符值 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('該身份證驗(yàn)證碼:'+test.getValidateCode('14230219700101101'));//該身份證校驗(yàn)碼:3 }}

總結(jié)

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

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

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 国产区高清 | 久久se精品一区二区国产 | 国产精品一区二区手机在线观看 | 波多野结衣在线不卡 | 能在线观看的一区二区三区 | 91久久精品一区二区三区 | 亚洲国产欧美精品一区二区三区 | 亚洲综合久久综合激情久久 | 一区二区三区在线免费观看视频 | 国产精品日韩一区二区三区 | 日韩精品一区二区在线观看 | 成年女人在线观看片免费视频 | www.操操| 欧美一级大尺度毛片 | 欧美japanese孕交 | a在线v| 日产一区两区三区 | 九九国产 | 亚洲精品一区二区三区国产 | 国产精品区一区二区免费 | 国产dvd毛片在线视频 | 欧美人与z0z0xxxx | 男人天堂中文字幕 | 波多野结衣视频在线 | 亚洲精品综合一区二区三区 | 国产成人精品日本亚洲网址 | 最新国产区 | 成人精品一级毛片 | 可以看的毛片网站 | 一级片 mp4 | 日韩精品亚洲一级在线观看 | 久久成人免费观看草草影院 | 美女张开腿让男人捅的视频 | 国产成人咱精品视频免费网站 | 亚洲精美视频 | 精品久久成人免费第三区 | 国产精品久久久久久一级毛片 | 亚洲成在人线免费视频 | 欧美日韩亚洲一区二区三区 | 国内亚州视频在线观看 | 美女网站在线观看视频18 |