在网上搜了下港澳台居民居住证的正则表达式/^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开头),能来个正则大佬帮忙解释下么?
在网上搜了下港澳台居民居住证的正则表达式/^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开头),能来个正则大佬帮忙解释下么?
11 回答1.3k 阅读
3 回答967 阅读✓ 已解决
2 回答964 阅读✓ 已解决
3 回答957 阅读✓ 已解决
2 回答649 阅读
3 回答977 阅读
3 回答973 阅读
港澳台居民居住证中的公民身份号码地址码的编号规则为:
公民身份号码共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",通常用于表示校验位。