mysql 正则校验身份证
时间: 2023-11-30 09:43:12 浏览: 229
MYSQL数据库校验身份证函数
可以使用MySQL的正则表达式函数REGEXP来校验身份证号码是否符合规则。下面是一个示例查询语句,其中card为身份证号码所在的列名:
```mysql
SELECT * FROM table WHERE card REGEXP '[0-9]{18}|[0-9]{17}X|[0-9]{15}'
```
这个正则表达式可以匹配18位、17位带X、15位的身份证号码。如果要根据具体的校验规则进行校验,可以使用多个正则表达式进行组合。
另外,如果需要自定义校验规则,可以先创建一个身份证系数表,然后使用MySQL的函数进行校验。具体步骤如下:
1. 创建身份证系数表,包括省份代码、系数、校验码等字段。
2. 使用SUBSTR函数获取身份证号码中的各个字段,例如生日、性别等。
3. 使用身份证系数表中的系数和校验码计算出校验结果。
4. 将计算结果与身份证号码的最后一位进行比较,如果一致则校验通过。
阅读全文