idcard_verify_number($idcard); $idcard = $idcard .$s; return $idcard; } /* # 函数功能:18位身份证校验码有效性检查 # 函数名称:idcard_checksum18 # 参数表 :string $idcard 十八位身份证号码 # 返回值 :bool # 更新时间:Fri Mar 28 09:48:36 CST 2008 */ function idcard_checksum18($idcard){ if (strlen($idcard) != 18){ return false; } $idcard_base = substr($idcard, 0, 17); $re=$this->idcard_verify_number($idcard_base); if ($re != strtoupper(substr($idcard, 17, 1))){ return false; }else{ return true; } } /* # 函数功能:身份证号码检查接口函数 # 函数名称:check_id # 参数表 :string $idcard 身份证号码 # 返回值 :bool 是否正确 # 更新时间:Fri Mar 28 09:47:43 CST 2008 */ function check_id($idcard) { if(strlen($idcard) == 15 || strlen($idcard) == 18){ if(strlen($idcard) == 15){ $idcard =$this->idcard_15to18($idcard); } if($res=$this->idcard_checksum18($idcard)){ return true; }else{ return false; } }else{ return false; } } }