业务经理

微信扫描以上二维码

028-61286886

技术咨询

迅睿框架 版主:迅睿框架研发组
后台字段自动提取出生年月日
类型:迅睿框架 更新时间:2026-05-31 22:37:19 后台发布

后台发布时,如何能录入证书身份证的同时,自动提取出生年月日并自动填写?


回帖
  • 社区管理员
    #1楼    社区管理员
    2026-05-31 22:37:19
    Chrome 0
    提取年月,自定义一个php函数,只能这个办法了
    /**
     * 从身份证号码提取出生日期
     * @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;
    }