分享一个简单的身份证号码验证函数。可以对15位身份证号码和18位身份证号码进行简单的验证。
- /**
- * @desc 校验身份证号码
- * @param string $id_num
- * @return false|int
- */
- function idChecker($id_num=''){
- $length = strlen($id_num);
- if($id_num = '' || !in_array($length,[15,18])){
- return false;
- }
- $rule15 = "/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/";
- $rule18 = "/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/";
- if($length === 15){
- return preg_match($rule15,$id_num);
- }
- if($length === 18){
- return preg_match($rule18,$id_num);
- }
- }
如何想匹配国家数据库的信息,对身份证号码进行严格的验证,小伙伴们可以参考这篇文章《如何还原被星号隐藏的身份证号?》。