日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

18位身份证号验证

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 18位身份证号验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、了解身份證號18位編碼規則,排列順序從左至右依次為:

六位數字地址碼,八位數字出生日期碼,三位數字順序碼,一位數字校驗碼。

詳細:

順序碼的奇數分給男性,偶數分給女性。校驗碼是根據前面十七位數字碼。

前1、2位數字表示:所在省(直轄市、自治區)的代碼。

第3、4位數字表示:所在地級市(自治州)的代碼。

第5、6位數字表示:所在區(縣、自治縣、縣級市)的代碼。

二、驗證碼校驗算法:

算法:對身份證號前17位進行加權求和,加權求和總數對11求余數,然后從表2中找到對應的校驗碼,對比校驗碼就可以了。

表1:

i

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Wi

7

9

10

5

8

4

2

1

6

3

7

9

10

5

8

4

2

i:身份證號從左往右的位數。

Wi:身份證號對應的加權因子。

Ai:身份證號對應的數值。


?(2)余數 = Sum % 11。

?(3)在下表中根據余數找到對應的校驗碼。

?表2:

余數

0

1

2

3

4

5

6

7

8

9

10

校驗碼

1

0

X

9

8

7

6

5

4

3

2

這里用javascript實現:

/*** 18位身份證號碼校驗*/ function isIdCard(idcard){if(!idcard){return false;}if(idcard.length<18){return false;}let len = 17;let sum = 0;let yzArray = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];let codeArray = ['1','0','X','9','8','7','6','5','4','3','2'];for(let i=0;i<len;i++){sum+=idcard[i]*yzArray[i];}let mod = sum%11;if( codeArray[mod]==idcard[17] ){return true;}return false;}



總結

以上是生活随笔為你收集整理的18位身份证号验证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。