即时银行帐号验证
Posted
技术标签:
【中文标题】即时银行帐号验证【英文标题】:On-the-fly bank account numbers verification 【发布时间】:2012-05-18 05:44:00 【问题描述】:今天我不得不将一个真实的(死树)信件中的银行帐号复制到 Emacs 缓冲区,然后通过电子邮件发送。我在将它从字母复制到 Emacs 缓冲区时犯了一个错误(忘记了一位数字)。这导致一位同事在一封电子邮件中告诉我:“无法付款,伪造的 IBAN”。
创建一个函数/次要模式有多难:
检测看起来像 IBAN 的“事物”(例如,两个大写字母后跟在“x”和“y”数字之间,忽略空格等。有现成的正则表达式可以验证是否看起来像 IBAN)
运行 mod 97,如果 IBAN 看起来无效,则以红色突出显示
理想情况下,我需要一个可以为多种类型的缓冲区(愚蠢的文本文件,还有电子邮件等)打开的次要模式。
使用 Emacs 的“方法”是什么?
【问题讨论】:
这不是一个可以回答的问题,除非有人说“不太难”或“非常难”,否则您会接受。请编辑以提出一个特定的问题,而不是一个通用的“它有多难?”。谢谢。 :) 也许回答他想问的问题,而不是他实际问的问题。做出这样做所需的假设存在一定风险,但在这种情况下,我认为这是有道理的。 我记得写了一个函数来回应这个问题,但我似乎从未发布过答案。如果有兴趣,请私信我,我看看能不能挖出来。 【参考方案1】:你可以很容易地使用类似的东西
(font-lock-add-keywords nil
'(("[A-Z][A-Z][0-9]\\x,y\\"
(0 (if (eq (mod blabla 97) foo) nil 'font-lock-warning-face))))))
只需填写blabla。
【讨论】:
Emacs 总是让我惊叹:)以上是关于即时银行帐号验证的主要内容,如果未能解决你的问题,请参考以下文章