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

目录
  • 前言
  • 例子:
  • 使用正则表达式验证帐号的方法
  • 总结

前言

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

总结

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

(0)

相关推荐

  • js jquery验证银行卡号信息正则学习

    jquery代码 复制代码 代码如下: $("#bankAccountNumber").change(function(){ alert("1"); var account = $("channelForm.bankAccount.account").val(); alert("2"); var reg = /^\d{19}$/g; // 以19位数字开头,以19位数字结尾 if( !reg.test(account) ) {

  • JS使用正则控制用户输入银行卡号及格式化

    //js正则实现用户输入银行卡号的控制及格式化 <script language="javascript" type="text/javascript"> function formatBankNo (BankNo){ if (BankNo.value == "") return; var account = new String (BankNo.value); account = account.substring(0,22); /

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

    目录 前言 例子: 使用正则表达式验证帐号的方法 总结 前言 银行帐号是在任何特定银行开设账户后分配给账户持有人的唯一编号.从技术上讲,我们可以将银行帐号视为主键.银行帐号使我们能够进行借记.贷记和其他交易.根据 RBI 指南,银行帐号具有独特的结构.Account Number的结构如下: 银行帐号仅以数字形式书写.银行帐号长度从 9 位到 18 位不等.不允许有空格.不允许有特殊字符.它包含从 0 到 9 的数字. 例子: 输入:str = ”635802010014976” 输出:True

  • JS正则表达式验证端口范围(0-65535)

    javascript正则表达式验证IP地址的端口合法性 if (!(/^[1-9]\d*$/.test(port) && 1 <= 1 * port && 1 * port <= 65535)){ return false } 提示文案: 您的端口不符合范围:0-65535 PS:下面看下JavaScript(Js)正则表达式验证IP+端口号 开发环境(蓝色粗体字为特别注意内容) 1,开发语言:JavaScript. 2,参考文献:https://www.jb5

  • 手把手教你AspNetCore WebApi数据验证的实现

    前言 小明最近又遇到麻烦了,小红希望对接接口传送的数据进行验证,既然是小红要求,那小明说什么都得满足呀,这还不简单嘛. 传统验证 [HttpPost] public async Task<ActionResult<Todo>> PostTodo(Todo todo) { if (string.IsNullOrEmpty(todo.Name)) { return Ok("名称不能为空"); } context.Todo.Add(todo); await conte

  • 手把手教你自己写一个js表单验证框架的方法

    在表单程序中,在页面上需要很多的Js代码来验证表单,每一个field是否必须填写,是否 只能是数字,是否需要ajax到远程验证,blablabla. 如果一个一个单独写势必非常的繁琐,所以我们的第一个目标就是构建一个类似DSL的东西, 用表述的语句而非控制语句来实现验证. 其次一个个单独写的话还有一个问题就是必须全部验证通过才能提交,但是单独验证会因为 这个特征而增加很多额外的控制代码,且经常会验证不全面.所以第二个目标就是能够全面 的整合整个验证的过程. 最后不能是一个无法扩展的一切写死的实现

  • Android消息推送:手把手教你集成小米推送(附demo)

    前言 在Android开发中,消息推送功能的使用非常常见. 为了降低开发成本,使用第三方推送是现今较为流行的解决方案. 今天,我将手把手教大家如何在你的应用里集成小米推送 目录 1. 官方Demo解析 首先,我们先对小米官方的推送Demo进行解析. 请先到官网下载官方Demo和SDK说明文档 1.1 Demo概况 目录说明: DemoApplication类 继承自Application类,其作用主要是:设置App的ID & Key.注册推送服务 DemoMessageReceiver类 继承自

  • 手把手教你AspNetCore WebApi认证与授权的方法

    前言 这几天小明又有烦恼了,之前给小红的接口没有做认证授权,直接裸奔在线上,被马老板发现后狠狠的骂了一顿,赶紧让小明把授权加上.赶紧Baidu一下,发现大家都在用JWT认证授权,这个倒是挺适合自己的. 什么是Token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码. 什么是JWT Json web token (JWT),是为了在网

  • 手把手教你用Java实现一套简单的鉴权服务

    前言 时遇JavaEE作业,题目要求写个简单web登录程序,按照老师的意思是用servlet.jsp和jdbc完成.本着要么不做,要做就要做好的原则,我开始着手完成此次作业(其实也是写实训作业的用户鉴权部分),而之前写项目的时候也有相关经验,这次正好能派上用场. 一.何为鉴权服务 引用百度百科的话说 鉴权(authentication)是指验证用户是否拥有访问系统的权利. 鉴权包括两个方面: 用户鉴权,网络对用户进行鉴权,防止非法用户占用网络资源. 网络鉴权,用户对网络进行鉴权,防止用户接入了非

  • js正则表达式验证大全(收集)

    引用网址  http://hi.baidu.com/quiteuniverse/blog/item/9f3f043d46ad1e07bba16716.html 以下函数调用方式: function check() { var bb = document.getElementById("txt_id").value;//txt_id为文本框的ID alert(ismobile(bb));//ismobile 代表以下任何一个函数名称 } HTML代码:   <input type=

  • 手把手教你用Hexo+Github搭建属于自己的博客(详细图文)

    在大三的时候,一直就想搭建属于自己的一个博客,但由于各种原因,最终都不了了之,恰好最近比较有空,于是就自己参照网上的教程,搭建了属于自己的博客. 至于为什么要搭建自己的博客了? 哈哈,大概是为了装逼吧,同时自己搭建博客的话,样式的选择也比较自由,可以自己选择,不需要受限于各大平台. 转载请注明原博客地址:手把手教你用Hexo+Github 搭建属于自己的博客 大概可以分为以下几个步骤 搭建环境准备(包括node.js和git环境,gitHub账户的配置) 安装Hexo 配置Hexo 怎样将Hex

  • GitHub入门教程 手把手教你最简单的开源项目托管

    自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难免少不了要进行摸索一番,甚至会因此头大而放弃. 这里将手把手地教大家一些本人的入门心得. 1.要托管到github,那你就应该要有一个属于你自己的github帐号,所以你应该先到github.com注册 打开浏览器 在地址栏输入地址:github.com 填写用户名.邮箱.密码 点击Sign up即可简单地

随机推荐