正则严格验证身份证信息
$a = '130424770827005'; $reg18 = '/[1-9]\d{5}(((1[9|8])\d{2})|(20[0-1]\d))((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)/'; $reg15 = '/[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}/'; 问题是对年份进行了判断从1800到2019
等4年就需要修改。
其实还可以更严格些。 preg_match($reg15,$a,$mm); var_dump($mm); 输出结果 array (size=6) 0 => string '130424770827005' (length=15) 1 => string '08' (length=2) 2 => string '08' (length=2) 3 => string '' (length=0) 4 => string '27' (length=2) 5 => string '27' (length=2)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步