手把手教你使用正则表达式验证银行帐号
作者:孤岛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}$”
- ^ :-字符串的开头。
- [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
总结
到此这篇关于使用正则表达式验证银行帐号的文章就介绍到这了,更多相关正则表达式验证银行帐号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!