手把手教你使用正则表达式验证银行帐号

2023-03-15 11:03:11 验证 手把手教你 银行帐号

前言

银行帐号是在任何特定银行开设账户后分配给账户持有人的唯一编号。从技术上讲,我们可以将银行帐号视为主键。银行帐号使我们能够进行借记、贷记和其他交易。根据 RBI 指南,银行帐号具有独特的结构。Account Number的结构如下:

银行帐号仅以数字形式书写。银行帐号长度从 9 位到 18 位不等。不允许有空格。不允许有特殊字符。它包含从 0 到 9 的数字。

例子:

输入:str = ”635802010014976”

输出:True

解释:它匹配正确的银行帐号。

输入:str = ” UBIN0563587”

输出:False

解释:它不应包含任何字母字符。

输入:str = ”9136812@895_”

输出:False

解释:不允许使用下划线和特殊字符。

输入:str = ”1 2071998”

输出:False

解释:不允许使用空格。

使用正则表达式验证帐号的方法

思路是用正则表达式来解决这个问题。Regex 将验证输入的数据并提供准确的格式。以下是可以针对该问题采取的步骤:

  • 接受字符串
  • 创建一个正则表达式模式来验证银行帐号:

正则表达式=”^[0-9]{9,18}$” 或正则表达式=”^\d{9,18}$”

  • ^ :-字符串的开头。
  • [0-9] :-匹配集合中的任何字符。
  • {9,18} :-匹配前面标记的 9 到 18。
  • $ :-字符串结尾。

下面是上述方法的代码实现:

// 使用正则表达式验证BANK ACCOUNT NUMBER的c++程序

#include <iOStream>
#include <regex>
using namespace std;

// 验证银行账号的功能
bool isValid_Bank_Acc_Number(string bank_account_number)
{

	const regex pattern("^[0-9]{9,18}$");
	if (bank_account_number.empty()) {
		return false;
	}
	if (regex_match(bank_account_number, pattern))
	{
		return true;
	}
	else
	{
		return false;
	}
}

void print(bool value){	
	cout<<"Is this account valid: ";	
	if(value)
		cout<<"True"<<endl;
	else
		cout<<"False"<<endl;
}

int main()
{
	string str1 = "635802010014976";
	print(isValid_Bank_Acc_Number(str1));

	string str2 = "9136812895_";
	print(isValid_Bank_Acc_Number(str2));

	string str3 = "BNZAA2318JM";
	print(isValid_Bank_Acc_Number(str3));
	
	string str4 = " 934517865";
	print(isValid_Bank_Acc_Number(str4));

	string str5 = "UBIN0563587";
	print(isValid_Bank_Acc_Number(str5));
	
	string str6 = "654294563";
	print(isValid_Bank_Acc_Number(str6));

	return 0;
}

输出:

此帐户是否有效:True
此账号是否有效:False
此账号是否有效:False
此账号是否有效:False
此账号是否有效:False
此帐户是否有效:True

总结

到此这篇关于使用正则表达式验证银行帐号的文章就介绍到这了,更多相关正则表达式验证银行帐号内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章