Class 身份证处理控制器


  • public class 身份证处理控制器
    extends Object
    身份证处理控制器类,主要负责协调身份证图像的处理、OCR 识别、识别结果的解析以及身份证号码的验证等工作。 它将模型层的图像处理和 OCR 识别功能与视图层的结果展示功能相结合,同时依据国家标准 GB11643 - 1999 对中国身份证号码进行合法性验证。 对于身份证号码的验证,该类支持 15 位和 18 位身份证号码,具体验证步骤如下: 1. 长度检查:确保身份证号码的长度为 15 位或者 18 位。 2. 首位检查:由于中国身份证号码的首位不能为 0,所以会对首位进行检查。 3. 格式检查:利用正则表达式来检查身份证号码的基本格式是否符合规则。 4. 日期检查:验证身份证号码中的出生日期是否合法,同时会考虑闰年的情况。 5. 校验位检查(仅针对 18 位身份证):通过加权因子计算校验位,并与身份证号码的最后一位进行比较。
    • Constructor Detail

      • 身份证处理控制器

        public 身份证处理控制器​(@NotNull
                        @NotNull 身份证处理模型 模型,
                        @NotNull
                        @NotNull 身份证识别结果视图 视图)
        控制器类的构造函数,用于初始化模型和视图对象。 此构造函数的作用是将模型层和视图层的对象注入到控制器中,使得控制器可以协调它们之间的工作, 从而完成身份证图像的处理、识别、解析和验证等一系列操作。
        Parameters:
        \u6a21\u578b - 负责身份证图像的处理和 OCR 识别的模型对象,不能为 null。
        \u89c6\u56fe - 负责展示 OCR 识别结果的视图对象,不能为 null。
        Throws:
        IllegalArgumentException - 如果传入的模型或视图对象为 null,则抛出该异常。
    • Method Detail

      • 处理并显示结果

        public void 处理并显示结果​(@NotNull
                            @NotNull String 图像路径)
        处理身份证图像并显示识别结果。 该方法接收身份证图像的路径作为参数,首先调用模型对象的处理图像方法对图像进行处理, 然后对处理后的图像进行 OCR 识别,接着解析识别结果,最后将解析后的结果和验证结果传递给视图对象进行展示。
        Parameters:
        \u56fe\u50cf\u8def\u5f84 - 身份证图像的文件路径,不能为 null。
        Throws:
        IllegalArgumentException - 如果传入的图像路径为 null,则抛出该异常。
      • 已验证

        public boolean 已验证​(@NotNull
                           @NotNull String 身份证号码)
        验证身份证号码的合法性。 该方法支持对 15 位和 18 位身份证号码进行验证。首先会进行基本的空值、长度和首位检查, 然后根据身份证号码的长度调用相应的验证方法进行进一步验证。
        Parameters:
        \u8eab\u4efd\u8bc1\u53f7\u7801 - 待验证的身份证号码,不能为 null。
        Returns:
        验证结果:true 表示合法,false 表示非法。
        Throws:
        IllegalArgumentException - 如果传入的身份证号码为 null,则抛出该异常。