先阐明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)实现正则表达式
正则表达式解二元方程式
正则表达式其实就是一个非凡的字符串
正则表达式是如何事情的