台湾的:1个英文+9个数字
[A-Z][0-9]{9}
香港的:一个英文+6个数字+(一个校验码0~9或A)
[A-Z][0-9]{6}\([0-9A]\)
澳门的:第一位1、5、7,后面7个数字,最后带括号的一位校验码
[157][0-9]{6}\([0-9]\)
护照的:因私普通护照号码格式有:14/15+7位数,G+8位数;因公普通的是:P.+7位数;
公务的是:S.+7位数 或者 S+8位数,以D开头的是外交护照.D=diplomatic
^1[45][0-9]{7}|G[0-9]{8}|P[0-9]{7}|S[0-9]{7,8}|D[0-9]+$
---香港特区护照/身份证明 10位 并且有 ()
在香港每一个居民都会获发一张身份证,证上的号码一共分为 3 个部分:
第一个部分是由 1 个或 2 个英文字母所组成.
第二部分是 6 个数目字.
第三部分有 1 对括号,中间是 1 个数目字或者是英文字母 “A”.
例如:“H856249(2)” 就是一个通常见到的身份证号码了.
---台湾居民来往大陆通行证
台湾身份证总共有10位数字。第一位是字母。后面九位是数字。
---澳门特区护照/身份证明
8位数,不包含出生年月
格式为 xxxxxxx(x)
注:x全为数字,无英文字母
首位数只有1、5、7字开头的
--台湾证件类型
select * from table where length(id_number)=10 and regexp_like(id_number,'[A-Z][0-9]{9}');
--澳门证件类型
select * from table where length(id_number)=10 and (regexp_like(id_number,'[157][0-9]{6}\([0-9]\)') or regexp_like(id_number,'[157][0-9]{6}([0-9])')) ;
--香港证件类型
select * from table where length(id_number)=10 and (regexp_like(id_number,'[A-Z][0-9]{6}\([0-9A]\)') or regexp_like(id_number,'[A-Z][0-9]{6}([0-9A])')) ;
--护照证件类型
select * from table where regexp_like(id_number,'^1[45][0-9]{7}|G[0-9]{8}|P[0-9]{7}|S[0-9]{7,8}|D[0-9]+$') and (length(id_number)=8 or length(id_number)=9);
相关推荐
string :需要进行正则处理的字符串 pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大...
Oracle正则表达式详解,用法+实例。
ORACLE 正则表达式的使用(REGEXP_LIKE REGEXP_INSTR REGEXP_SUBSTR REGEXP_REPLACE)
ORACLE 10G 中经常会使用到的正则表达式的说明及例子
正则表达式应用广泛,在数据库中也有很大的应用空间,该篇文档讲述正则表达式在数据库中的应用。
Oracle中的正则表达式 Oracle中的正则表达式 Oracle中的正则表达式
Oracle正则表达式函数全面解析
ORACLESQL正则表达式.pdf
oracle正则表达式总结,包括语法与实例
Oracle正则表达式参考手册 ,《Oracle Regular Expressions Pocket Reference 》 Oracle Regular Expressions Pocket Reference is part tutorial and part quick-reference.
oracle 数据库中 正则表达式 详细讲解 ,保证看了之后对正则表达式有一个深入的理解。对于不会用正则表达式的朋友非常有帮助。
ORACLE中的正则表达式的使用 动态执行SQL语句 动态创建游标 游标的创建方式 ORACLE循环操作 for循环 loop循环 while循环 判断操作
Oracle 正则表达式参考手册 regexp_instr regexp_substr regexp_repalce regexp_like
Oracle数据库的使用中,有需要学习正则表达式的朋友,希望此资料对你有帮助。
Oracle 10g正则表达式详解,REGEXP_LIKE,REGEXP_INSTR,REGEXP_SUBSTR,REGEXP_REPLACE
1、正则表达式写法: CREATE OR REPLACE FUNCTION Func_checkidcard (p_idcard IN VARCHAR2) RETURN INT IS v_regstr VARCHAR2 (2000); v_sum NUMBER; v_mod NUMBER; v_checkcode CHAR (11) := '10X98765432'; ...
Oracle中使用正则表达式 正则详解正则详解正则详解正则详解正则详解正则详解
介绍ORACLE正则表达式的使用,快速掌握这方面的知识.
18位身份证和组织机构代码校验ORACLE函数