`

oracle通过正则验证香港、澳门、台湾的身份证和护照

阅读更多
台湾的: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);

 

分享到:
评论

相关推荐

    Oracle数据库正则表达式

    在 Oracle 数据库中,正则表达式是一种强大的模式匹配工具,可以帮助用户快速搜索、替换和验证数据。从 Oracle 10g 开始,Oracle 内建了符合 IEEE POSIX (Portable Operating System for Unix)标准的正则表达式,...

    Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解

    string :需要进行正则处理的字符串 pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大...

    Oracle正则表达式详解(用法+实例)

    通过上述介绍,我们可以看出 Oracle 支持的正则表达式功能非常强大,不仅能够满足基本的字符串匹配需求,还能处理更加复杂的数据清洗和转换任务。熟练掌握这些函数将极大地提高我们在处理数据时的效率和准确性。

    ORACLE正则表达式

    ORACLE 正则表达式的使用(REGEXP_LIKE REGEXP_INSTR REGEXP_SUBSTR REGEXP_REPLACE)

    Oracle正则表达式

    ### Oracle正则表达式 #### 一、简介 在Oracle 10g版本开始,数据库引入了对正则表达式的支持。正则表达式是一种强大的工具,用于模式匹配和文本处理,可以用来搜索、替换、提取等操作。通过正则表达式,用户可以...

    oracle 身份证校验函数的实例代码

    Oracle中的身份证校验函数是用于验证输入的身份证号码是否合法的一种工具。在Oracle数据库中,可以通过编写自定义函数实现这个功能。以下是一个示例代码,它详细解释了如何创建一个身份证校验函数。 首先,我们需要...

    Oracle的正则表达式

    总之,Oracle的正则表达式是数据库管理和开发中的有力工具,通过理解和熟练运用,能大大提高数据处理的效率和精确度。无论是简单的查找、替换,还是复杂的模式匹配,都能得心应手。在学习过程中,配合实际的数据库...

    Oracle中的正则表达式

    "Oracle中的正则表达式" Oracle中的正则表达式是指在Oracle数据库管理系统中...Oracle中的正则表达式是强大的字符串模式匹配语言,可以用来在字符串中搜索、验证、提取和替换文本,提高数据库应用程序的效率和可读性。

    ORACLESQL正则表达式.pdf

    Oracle SQL 的正则表达式可以应用于各种场景,如数据验证、字符串匹配、文本搜索等。 ORACLE SQL 的正则表达式是一种强大的工具,能够帮助开发者更方便地处理字符串数据。但是,需要注意的是,正则表达式的使用...

    Oracle正则表达式函数全面解析

    通过本文的介绍,我们可以看到Oracle数据库提供的正则表达式函数极大地增强了SQL语言处理文本数据的能力。掌握了这些函数的基本用法后,就可以更加灵活地应对各种文本处理的需求,从而提高开发效率。在未来的工作中...

    oracle正则表达式

    Oracle数据库系统支持强大的正则表达式功能,这些功能在数据查询和处理中起着至关重要的作用。Oracle中的正则表达式主要通过内置的SQL函数来实现,如REGEXP_LIKE、REGEXP_SUBSTR、REGEXP_REPLACE等。这些函数使得...

    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_正则表达式摘录笔记

    Oracle正则表达式是Oracle数据库中用于处理字符串的强大工具,尤其在数据检索、过滤和转换等方面发挥着重要作用。本文将详细介绍Oracle正则表达式的各个方面,帮助读者快速掌握这一技术。 一、正则表达式基础 正则...

    Oracle 正则表达式参考手册

    Oracle 正则表达式参考手册 regexp_instr regexp_substr regexp_repalce regexp_like

Global site tag (gtag.js) - Google Analytics