1

在扫描支票并从该扫描中生成 MICR 代码后,除了计算位数之外,还可以对该代码进行什么检查,以确信它是有效的或至少在内部是一致的?

我已经知道 MICR 代码是支票账户所属的 9 位路由号码。但其他可以检查吗?如果任何数字被错误地读取,它是否遵循任何可能给出提示的模式?

例如,此代码仅检查 9 位数字(我使用的是 C#,但答案使用什么语言并不重要):

'''C#正则表达式 regex = new Regex(@"^[0-9]{9}$");

我希望答案是真还是假。然后我可以得出适当的错误描述。

4

1 回答 1

0

您需要参考 MICR 规范才能正确验证 MICR 读取是否有效。在此处查看 PDF: MICR 基础手册

以下是一些屏幕截图,可以帮助您解析 MICR 的各个部分:

MIC 示例检查屏幕截图

微场解释

否则,您可以查看为您处理此问题并与规范保持同步的商业库。我工作的公司有一个这样的库,您可以在这里查看:https : //www.leadtools.com/sdk/ocr/micr 具体来说,您可以使用能够找到 micr 行的高级 BankCheckReader 类在 E13b 和 Cmc7 micr 字体类型中的一种或两种的任何页面上。

这是 C# 中的一些示例代码,但此类也可用于 java 和其他语言:

BankCheckReader checkReader = new BankCheckReader(); 
IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD); 
ocrEngine.Startup(null, null, null, null); 
checkReader.OcrEngine = ocrEngine; 
checkReader.MicrFontType = BankCheckMicrFontType.E13b; 
checkReader.ProcessImage(image); 
于 2020-12-02T12:53:21.810 回答