mysql正则表达式判断身份证是否合法
时间: 2023-11-08 19:55:10 浏览: 58
可以使用正则表达式进行身份证的合法性判断,具体的正则表达式可以参考以下代码:
```
SELECT
id_card,
CASE WHEN id_card REGEXP '^[1-9]\\d{5}(19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\\d|3[0-1])\\d{3}[0-9Xx]$' THEN '合法'
ELSE '不合法'
END AS is_valid
FROM
table_name;
```
其中,正则表达式的意义为:
- ^:表示字符串的开头。
- [1-9]:表示第一个字符为数字1-9。
- \\d{5}:表示后面跟着5个数字。
- (19|20):表示年份的前两位是19或20。
- \\d{2}:表示年份的后两位是两个数字。
- (0[1-9]|1[0-2]):表示月份为01-12。
- (0[1-9]|[1-2]\\d|3[0-1]):表示日期为01-31。
- \\d{3}:表示后面跟着3个数字。
- [0-9Xx]:表示最后一位可能是数字0-9,也可能是字母X或x。
- $:表示字符串的结尾。
如果身份证号码符合以上的正则表达式,则认为是合法的,否则就是不合法的。
相关问题
mysql正则表达式过率身份证号
MySQL正则表达式可以用于过滤身份证号。身份证号是由18位数字和字符组成的,具体格式是前6位是行政区划代码,接下来8位是出生年月日,然后是4位的顺序码,最后一位是校验码。根据这些规则,可以使用MySQL正则表达式来匹配身份证号。
下面是一个示例正则表达式,用于匹配身份证号的格式:
^[1-9]\d{5}(18|19|([2-9]\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$
在MySQL中可以使用REGEXP关键字来进行正则表达式的匹配。示例查询语句如下:
SELECT * FROM table_name WHERE column_name REGEXP '^[1-9]\d{5}(18|19|([2-9]\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$';
以上语句将会返回符合身份证号格式的所有数据。
需要注意的是,以上示例只是匹配了身份证号的格式,并不能确保该身份证号是真实有效的。对于真实有效性的验证,需要考虑到身份证号的校验码计算等更复杂的逻辑,可以结合使用MySQL的其他函数来完成该验证。
mysql 正则表达式判断年月日
可以使用MySQL的正则表达式函数`REGEXP`来判断年月日。
以判断YYYY-MM-DD格式的日期为例,可以使用以下正则表达式:
```
^[0-9]{4}-[0-9]{2}-[0-9]{2}$
```
其中,`^`和`$`分别表示字符串的开头和结尾,`[0-9]`表示匹配任意一个数字,`{4}`表示匹配前面的字符4次,`{2}`表示匹配前面的字符2次。因此,`[0-9]{4}`表示匹配4个数字,`[0-9]{2}`表示匹配2个数字。
可以使用以下SQL语句来判断一个字符串是否符合YYYY-MM-DD的格式:
```
SELECT '2022-02-28' REGEXP '^[0-9]{4}-[0-9]{2}-[0-9]{2}$'; -- 返回 1
SELECT '2022-02-30' REGEXP '^[0-9]{4}-[0-9]{2}-[0-9]{2}$'; -- 返回 0
```
其中,`REGEXP`函数返回匹配结果,如果匹配成功返回1,否则返回0。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)