迅睿开源框架基于MIT开源许可协议发布,不限制商业使用,以多端互联为设计理念, 支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。
业务经理
微信扫描以上二维码
028-61286886
技术咨询
后台发布时,如何能录入证书身份证的同时,自动提取出生年月日并自动填写?
/** * 从身份证号码提取出生日期 * @param string $idCard 身份证号(15位或18位) * @return string|false 出生日期 YYYY-MM-DD,失败返回 false */ function get_birthday_from_idcard($idCard) { // 去掉空格 $id = trim($idCard); // 空值直接返回失败 if (empty($id)) { return false; } $len = strlen($id); // 18位身份证 if ($len === 18) { $year = substr($id, 6, 4); $month = substr($id, 10, 2); $day = substr($id, 12, 2); } // 15位身份证(老证) elseif ($len === 15) { $year = '19' . substr($id, 6, 2); $month = substr($id, 8, 2); $day = substr($id, 10, 2); } // 格式不正确 else { return false; } // 组合标准日期格式 $birthday = $year . '-' . $month . '-' . $day; // 验证日期是否合法(防止乱输入) if (!strtotime($birthday)) { return false; } return $birthday; }
/** * 从身份证号码提取出生日期 * @param string $idCard 身份证号(15位或18位) * @return string|false 出生日期 YYYY-MM-DD,失败返回 false */ function get_birthday_from_idcard($idCard) { // 去掉空格 $id = trim($idCard); // 空值直接返回失败 if (empty($id)) { return false; } $len = strlen($id); // 18位身份证 if ($len === 18) { $year = substr($id, 6, 4); $month = substr($id, 10, 2); $day = substr($id, 12, 2); } // 15位身份证(老证) elseif ($len === 15) { $year = '19' . substr($id, 6, 2); $month = substr($id, 8, 2); $day = substr($id, 10, 2); } // 格式不正确 else { return false; } // 组合标准日期格式 $birthday = $year . '-' . $month . '-' . $day; // 验证日期是否合法(防止乱输入) if (!strtotime($birthday)) { return false; } return $birthday; }