PHP验证身份证的正则表达式

先阐明18位中国身份证名目:

首6码为处所码

7~14码为出生日期码
15~18码为顺序编号。用于同年同月同日同处所出生的人

第17码则为 GENDER码, 男单数, 女双数
以上的代码名目信息是网上找的。

可以确定的是生日期码

也就是XXXXXX19000000XXXX   ~ XXXXXX20991231XXXX 

正则如下

\d{6}(?:19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{4}

可以匹配一下试试吧

符上PHP版测试:

<?php $preg='/\b\d{6}(?:19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{4}\b/'; $str='441402198105266678'; $rr = preg_match($preg, $str); if($rr) { echo 'OK'; }else { echo 'NO'; } ?>

PS:以上的身份证号码是随便百度一个就贴上去的,只用测试,与本人无关

上一篇: 深入浅出之正则表达式 之媒介先容   |   下一篇:正则匹配IP地点» 标签:

分享到: 更多

相关日志:

PHP收罗链接,相对链接转为绝对链接

深入浅出之正则表达式 之媒介先容

PHP输入一个url匹配获得域名各分组部门 PHP正则

利用PHP让动态链接301重定向至静态文件

php 匹配windows路径部门

iPhone顶用第三方东西(RegexKitLite)实现正则表达式

正则表达式解二元方程式

正则表达式其实就是一个非凡的字符串

正则表达式是如何事情的

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7988.html