香港身份证号码验证方法

香港身份证号码的「结构」  XYabcdef(z)或者Yabcdef(z)

  • 「X」可能是「空格」或是一个英文字母
  • 「Y」则必定是英文字母
  • 「abcdef」代表一个六位数字
  • 而「z」是作为检码之用,它的可能选择是0, 1, 2, ... , 9, A(代表10)

「z」的计算方法

  每一位对应一个编码值乘以每一位对应的位置数 9X+8Y+7a+6b+5c+4d+3e+2f+z的总和。该总和,是必须被11整除。利用这特点,我们便能算出括号内的数字。

「X」或「Y」的编码值:
  空格 48 I 18 R 27
  A 10 J 19 S 28
  B 11 K 20 T 29
  C 12 L 21 U 30
  D 13 M 22 V 31
  E 14 N 23 W 32
  F 15 O 24 X 33
  G 16 P 25 Y 34
  H 17 Q 26 Z 35


如果沒有「X」则对应X位的值为36
例X354670(?)
  9 * 36 + 8 * 33 + 7 * 3 + 6 * 5 + 5 * 4 + 4 * 6 + 3 * 7 + 2 * 0 + z = 704 + z
被11整除,所以z=0,即X354670(0)是正确的香港身分证号码

驗證地址

posted @ 2020-01-08 14:19  *凉风习习*  阅读(1539)  评论(0编辑  收藏  举报