php如何利用正则表达式验证身份证号是否正确
功能介绍:如何利用php语法中的正则表达式验证身份证号是否正确,下面先给大家简单介绍一下示列!
具体代码:
$reg = '/^([1-9]\d{5})(19\d{2}|20\d{2})(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i';
$idCard = '11021211114932';
if (preg_match($reg, $idCard)) {
echo '身份证号正确';
} else {
echo '身份证号错误';
}
正则表达式介绍:
正则表达式 | 描述 |
---|---|
^ | 表示以这个正则表达式开始匹配 |
() | 表示一个分组 |
[1-9] | 表示1到9中的任意一个数字 |
\d | 表示任意一个数字,等同于[0-9] |
{5} | 表示前面的元素要重复5次 |
| | 表示或者 |
[12] | 表示1或2 |
$ | 表示以这个正则表达式结束匹配 |
i | 表示对大小写不敏感 |