港澳台居民居住证的正则怎么解读?
在网上搜了下港澳台居民居住证的正则表达式/^8[123]0000(?:19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[\dX]$/
,但是看不懂各项是什么意思(只能看懂是8 1/2/3 0000开头),能来个正则大佬帮忙解释下么?
回复
1个回答
test
2024-06-28
/^8[123]0000(?:19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[\dX]$/
港澳台居民居住证中的公民身份号码地址码的编号规则为:
- 香港居民使用810000。
- 澳门居民使用820000。
- 台湾居民使用830000。公民身份号码共18位,前6位为行政区划代码,第7至14位为出生日期码,第15至17位为顺序码,第17位也可以辨认性别,奇数为男,偶数为女,第18位为校验码。
根据规则看就明白了举例: 830000-19920130-002-2
^
:表示匹配字符串的开头。$
:表示匹配字符串的结尾。都使用时精确匹配8[123]0000
:这部分匹配以 "830000"、"810000" 或 "820000" 开头的数字。(?:19|20)
:这是一个非捕获性分组,匹配 "19" 或 "20"。\d{2}
:匹配两位数字,通常用于表示年份的后两位。(?:0[1-9]|1[0-2])
:另一个非捕获性分组,匹配 "01" 到 "09" 或 "10" 到 "12" 的月份。(?:0[1-9]|[12]\d|3[01])
:非捕获性分组,匹配 "01" 到 "09"、"10" 到 "29" 或 "30" 到 "31" 的日期。\d{3}
:匹配三位数字,通常用于表示个人识别信息的一部分。[\dX]
:匹配一个数字或大写字母 "X",通常用于表示校验位。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容