首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在c#中进行SWIFT代码和IBAN验证

在C#中进行SWIFT代码和IBAN验证可以使用正则表达式和一些验证算法来实现。下面是一个示例代码:

代码语言:txt
复制
using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        string swiftCode = "ABCDUSXXX";
        string iban = "GB82WEST12345698765432";

        bool isSwiftCodeValid = ValidateSwiftCode(swiftCode);
        bool isIbanValid = ValidateIban(iban);

        Console.WriteLine("Swift Code Validation: " + isSwiftCodeValid);
        Console.WriteLine("IBAN Validation: " + isIbanValid);
    }

    public static bool ValidateSwiftCode(string swiftCode)
    {
        // Swift Code pattern: AAAA - BB - CC - DDD
        string pattern = @"^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$";
        return Regex.IsMatch(swiftCode, pattern);
    }

    public static bool ValidateIban(string iban)
    {
        // IBAN pattern: Country Code (2 letters) + 2-digit checksum + Basic Bank Account Number (BBAN)
        string pattern = @"^[A-Z]{2}\d{2}[A-Z0-9]{1,30}$";
        if (!Regex.IsMatch(iban, pattern))
        {
            return false;
        }

        // Validate checksum
        string countryCode = iban.Substring(0, 2);
        string checksum = iban.Substring(2, 2);
        string bban = iban.Substring(4);

        string reformattedIban = bban + countryCode + checksum;
        long numericIban = long.Parse(Regex.Replace(reformattedIban, "[A-Z]", m => ((int)m.Value[0] - 55).ToString()));

        return numericIban % 97 == 1;
    }
}

上述代码中,ValidateSwiftCode函数使用正则表达式验证SWIFT代码的格式是否正确。SWIFT代码的格式为4个大写字母 + 2个大写字母或数字 + 2个大写字母或数字(可选)+ 3个大写字母或数字(可选)。

ValidateIban函数同样使用正则表达式验证IBAN的格式是否正确。IBAN的格式为2个大写字母的国家代码 + 2位数字的校验和 + 基本银行账号号码(BBAN)。

在验证IBAN时,还需要对校验和进行验证。校验和是通过将IBAN的BBAN部分移至IBAN的末尾,并将字母转换为数字,然后计算其与97的模。如果模为1,则IBAN有效。

请注意,以上代码仅提供了基本的验证功能,实际应用中可能需要更复杂的验证逻辑。此外,对于SWIFT代码和IBAN的具体应用场景和推荐的腾讯云相关产品,可以根据实际需求进行选择和使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券