香港--身份证本国人正则表达式

1. 香港永久居民身份证

参考http://www.ablmcc.edu.hk/~scy/home/javascript/idcard.htm

香港身份证号码:身份证号码的结构,可以用XYabcdef(z)表示。「X」可能是「空格」或是一个英文字母,「Y」则必定是英文字母。「abcdef」代表一个六位数字,而「z」是作为检码之用,它的可能选择是0,1,2,...,9,A(代表10)。这些代号的背后,都可配上一个编码值。透过编码值,便可找出9X+8Y+7a+6b+5c+4d+3e+2f+z的总和。该总和特别之处,是必须被11整除。利用这特点,我们便能找出括号内的数字。X或Y的编码值:

格58I18R27A10J19S28B11K20T29C12L21U30D13M22V31E14N23W32F15O24X33G16P25Y34H17Q26Z35

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

출처: <http://www.devexception.com/asp/43305.htm>


2. 香港居民身份证


综合

RegEx

^((\s?[A-Za-z])|([A-Za-z]{2}))\d{6}((\([0-9aA]\))|([0-9aA]))$

Example

X354670(0)
b354670(a)
g354670a




整理起来不容易

错误的话麻烦告诉我

整理起来不容易

错误的话麻烦告诉我

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...