在OCR步骤之后,如何检查MICR代码的有效性?

时间:2019-07-08 17:59:07

标签: validation micr

在扫描完支票并从该扫描生成了MICR代码之后,除了对位数进行计数外,还可以对那个代码进行哪些检查,以确信其有效或至少内部一致?

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

例如这段代码仅检查9位数字(我使用的是C#,但答案使用哪种语言都没有关系):

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

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

1 个答案:

答案 0 :(得分:0)

您需要参考MICR规范,以正确验证MICR读取是否有效。在此处查看PDF: MICR Basics Handbook

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

micr example check screenshot

micr field explanations

否则,您可以签出可为您处理并保持符合最新规范的商业库。我工作的公司有一个这样的图书馆,您可以在这里查看:https://www.leadtools.com/sdk/ocr/micr 具体来说,您可以使用高级BankCheckReader类,该类可以在任何页面上以E13b和Cmc7 micr字体类型之一或两者找到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);