sql身份证号正则验证
时间: 2023-08-29 17:10:48 浏览: 1124
SQL 存储过程 身份证号码验证完整算法
可以使用正则表达式来验证身份证号码是否符合规范,以下是一种常见的 SQL 正则表达式:
```sql
SELECT *
FROM users
WHERE REGEXP_LIKE(id_card, '^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])([0-2][1-9]|[1-3]\d|4[0-6]|5[0-3])\d{3}([0-9]|X)$');
```
其中,`id_card` 是要验证的身份证号码字段。这个正则表达式的含义是:
- `^` 匹配字符串的开始位置
- `[1-9]` 匹配 1-9 中的任意一个数字
- `\d{5}` 匹配 5 个数字
- `(19|20)` 匹配 19 或 20
- `\d{2}` 匹配 2 个数字
- `(0[1-9]|1[0-2])` 匹配 01-12 中的任意一个数字
- `([0-2][1-9]|[1-3]\d|4[0-6]|5[0-3])` 匹配 01-31 中的任意一个数字
- `\d{3}` 匹配 3 个数字
- `([0-9]|X)` 匹配 0-9 或 X
- `$` 匹配字符串的结束位置
这个正则表达式可以匹配符合规范的 18 位身份证号码。
阅读全文