oracle正则验证香港、澳门证件号
香港证件号规则:1或2位英文字母 + 6位阿拉伯数字 + (1位阿拉伯数字或字母A)。括号中的数字或字母A,是校验码,用于检验括号前面的号码的逻辑正确性。
澳门编码规则:
旧:1位阿拉伯数字(1、5、7) + / + 6位阿拉伯数字 + / + 1位阿拉伯数字
新:1位阿拉伯数字(1、5、7) + 6位阿拉伯数字 + (1位阿拉伯数字)
/*香港1位英文字母 + 6位阿拉伯数字 + (1位阿拉伯数字或字母A)*/
select *
from gd_qlr
where length(qlrzjh) = 10
and (regexp_like(qlrzjh, '^[A-Z][0-9]{6}\([0-9A]\)','i') or
regexp_like(qlrzjh, '^[A-Z][0-9]{6}([0-9A])','i'));
/*香港2位英文字母 + 6位阿拉伯数字 + (1位阿拉伯数字或字母A)*/
select *
from gd_qlr
where length(qlrzjh) = 11
and (regexp_like(qlrzjh, '^[A-Z]{2}[0-9]{6}\([0-9A]\)','i') or
regexp_like(qlrzjh, '^[A-Z]{2}[0-9]{6}([0-9A])','i'));
/*澳门*/
select *
from gd_qlr
where length(qlrzjh) = 10
and (regexp_like(qlrzjh, '[157][0-9]{6}\([0-9]\)') or
regexp_like(qlrzjh, '[157][0-9]{6}([0-9])'));
更多推荐




所有评论(0)