【问题标题】:What is proper RegEx expression for SWIFT codes?SWIFT 代码的正确 RegEx 表达式是什么?
【发布时间】:2011-03-02 23:19:33
【问题描述】:

我必须在我的 Web ASP.NET 页面上过滤用户输入:

<asp:TextBox runat="server" ID="recipientBankIDTextBox" MaxLength="11" />
<asp:RegularExpressionValidator runat="server" ValidationExpression="?" ControlToValidate="recipientBankIDTextBox" ErrorMessage="*" />

据我所知,SWIFT 代码必须包含 5 或 6 个字母,而其他符号最多为 11 个字母数字。

如何正确执行此类规则?

【问题讨论】:

    标签: asp.net regex validation swift-mt


    【解决方案1】:

    swift 代码应该是 8 或 11 个字母或数字,其中前六个必须是字母。但无论如何,它是什么并不重要,重要的是您了解如何创建这样的表达。这是一个带有注释的正则表达式,可以向您展示各个部分的含义。

    ^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$ ^ ^ ^ ^ | | | | 6 个字母 2 个字母 3 个字母或数字 或数字 | 最后三个是可选的

    维基百科上的所有例子都只显示大写字母 A-Z。如果您还想允许小写字母,请将A-Z 更改为A-Za-z。我会查看the ISO standard 以了解其中的内容,但不幸的是,获取副本不是免费的。

    【讨论】:

      【解决方案2】:

      这应该可以解决问题

      ^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$
      

      【讨论】:

      • 为什么有两个不同的组 - 第一个和第二个 - 具有相同的表达式?为什么不只是([a-zA-Z]){6}
      • 是的,你是对的,你可以这样做 - 我将它分成两组纯粹是因为第一组属于银行,第二组是国家代码。例如,英国 Natwest 银行。 NWBK 加上GB
      【解决方案3】:

      根据http://en.wikipedia.org/wiki/ISO_9362...

      /[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?/i
      

      【讨论】:

        猜你喜欢
        • 2021-10-05
        • 2023-04-04
        • 2013-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多