我必须在我的网页ASP.NET页面上过滤用户输入:
<asp:TextBox runat="server" ID="recipientBankIDTextBox" MaxLength="11" />
<asp:RegularExpressionValidator runat="server" ValidationExpression="?" ControlToValidate="recipientBankIDTextBox" ErrorMessage="*" />
据我所知,SWIFT代码必须包含5个或6个字母,其他符号总长度为11个是字母数字。
如何正确实施此规则?
答案 0 :(得分:25)
快速代码应为8或11个字母或数字,前六个必须是字母。但无论如何它并不重要,重要的是你理解如何创建这样的表达。这是一个带有注释的正则表达式,用于显示这些部分的含义。
^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$ ^ ^ ^ ^ | | | | 6 letters 2 letters 3 letters or digits or digits | last three are optional
维基百科上的所有示例仅显示大写字母A-Z。如果您还想允许使用小写字母,请将A-Z
更改为A-Za-z
。我会检查the ISO standard以查看内容,但不幸的是,获取副本并不是免费的。
答案 1 :(得分:3)
根据http://en.wikipedia.org/wiki/ISO_9362 ...
/[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?/i
答案 2 :(得分:3)
这应该可以解决问题
^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$