【问题标题】:On-the-fly bank account numbers verification即时银行帐号验证
【发布时间】:2012-05-18 05:44:00
【问题描述】:

今天我不得不将一个真实的(死树)信件中的银行帐号复制到 Emacs 缓冲区,然后通过电子邮件发送。我在将它从字母复制到 Emacs 缓冲区时犯了一个错误(忘记了一位数字)。这导致一位同事在一封电子邮件中告诉我:“无法付款,伪造的 IBAN”

创建一个函数/次要模式有多难:

  • 检测看起来像 IBAN 的“事物”(例如,两个大写字母后跟在“x”和“y”数字之间,忽略空格等。有现成的正则表达式可以验证是否看起来像 IBAN)

  • 运行 mod 97,如果 IBAN 看起来无效,则以红色突出显示

理想情况下,我需要一个可以为多种类型的缓冲区(愚蠢的文本文件,还有电子邮件等)打开的次要模式。

使用 Emacs 的“方法”是什么?

【问题讨论】:

  • 这不是一个可以回答的问题,除非有人说“不太难”或“非常难”,否则您会接受。请编辑以提出一个特定的问题,而不是一个通用的“它有多难?”。谢谢。 :)
  • 也许回答他想问的问题,而不是他实际问的问题。做出这样做所需的假设存在一定风险,但在这种情况下,我认为这是有道理的。
  • 我记得写了一个函数来回应这个问题,但我似乎从未发布过答案。如果有兴趣,请私信我,我看看能不能挖出来。

标签: validation emacs elisp iban


【解决方案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 总是让我惊叹:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
  • 2011-12-16
  • 2013-12-18
  • 2012-10-19
  • 1970-01-01
  • 2016-04-24
相关资源
最近更新 更多