香港身份证号码验证方法

身份证号码的「结构」,可以用XYabcdef(z)表示。

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

「z」的计算方法

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

「X」或「Y」的编码值:
  空格 58 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

例X354670(?)
  9(58)+8(33)+7(3)+6(5)+5(4)+4(6)+3(7)+2(0)+z=902+z
被11整除,所以z=0,即X354670(0)是正确的香港身分证号码

猜你喜欢

转载自www.cnblogs.com/stevenawake/p/12166361.html