/** * 验证身份证信息(18位) * @param $identity_card : 身份证号 * @return bool * @author Zhanghui */ function verify_identity_card($identity_card) { $identity_card = (string)$identity_card; $identity_card_len = strlen($identity_card); if ($identity_card_len != 18) { return false; } $identity_card_base = substr($identity_card, 0, 17); $identity_card_last_number = substr($identity_card, 17, 1); // 校验 $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); //加权因子 $verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); //校验码对应值 $check_sum = 0; for ($i = 0; $i < strlen($identity_card_base); $i++) { $check_sum += substr($identity_card_base, $i, 1) * $factor[$i]; } $mod = $check_sum % 11; $verify_last_number = $verify_number_list[$mod]; return !strcmp($verify_last_number, $identity_card_last_number) ? true : false; }
身份证号码效验
最新推荐文章于 2023-12-07 10:51:02 发布