正则表达式

关注公众号 jb51net

关闭
首页 > 网络编程 > 正则表达式 > 正则表达式验证银行帐号

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

作者:孤岛0

银行卡号是一大串的数字,当然具有一定的规则,下面这篇文章主要给大家介绍了关于使用正则表达式验证银行帐号的相关资料,文中给出了详细的实例代码,需要的朋友可以参考下

前言

银行帐号是在任何特定银行开设账户后分配给账户持有人的唯一编号。从技术上讲,我们可以将银行帐号视为主键。银行帐号使我们能够进行借记、贷记和其他交易。根据 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}$”

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

// 使用正则表达式验证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

总结

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

您可能感兴趣的文章:
阅读全文