11

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

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

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

如何正确执行这样的规则?

4

3 回答 3

36

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

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

Wikipedia 上的所有示例仅显示大写字母 AZ。如果您还想允许小写字母,请更改A-ZA-Za-z. 我会检查ISO 标准以了解其内容,但不幸的是,获取副本不是免费的。

于 2010-06-12T09:32:30.947 回答
6

这应该可以解决问题

^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$
于 2010-06-12T09:33:04.603 回答
4

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

/[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?/i
于 2010-06-12T09:32:07.023 回答