【问题标题】:Bank Account number verification using java使用java验证银行帐号
【发布时间】:2020-07-15 08:53:03
【问题描述】:

我正在尝试编写一个 java 程序来验证阿尔及利亚银行帐号的有效性,我在网上查看公式,我发现了一段 javascript(我无法理解)。

代码如下:

function validateFormRIB() {
  var x = document.forms["formrib"]["rib"].value;
  if ((!/^\d+$/.test(x))||(x.length!=20)) {
    alert("Le RIB doit comporter exactement 20 caractères numériques");
    return false;
  }
}

我的问题是用于计算的公式是什么?

这是网页的链接: http://www.babalweb.net/finance/verificateur-rib-releve-identite-bancaire-algerie.php

【问题讨论】:

  • 它只是一个正则表达式,用于检查代码是否仅由数字组成,其长度为 20 位。
  • @Teemu OP 正在尝试编写 Java 应用程序并找到了一段 JavaScript 参考代码。看不到问题。
  • @RobbyCornelissen 不过,了解 Java 似乎无助于解决这个问题。
  • @RobbyCornelissen - 问题是,虽然这是 OP 试图执行的任务,但他实际上要求的是有人解释用 Javascript 编写的“公式”。标签应该与被问到的实际问题相关......
  • @StephenC 我明白这一点,但是 1) 不值得讽刺的评论暗示 OP 不知道他们使用的是什么语言; 2)当问题要求一个公式时,知道这个公式需要用什么语言实现可以带来很好的建议。

标签: javascript verification account bank


【解决方案1】:

您所指的“公式”是(我推测)这部分

(!/^\d+$/.test(x))||(x.length!=20)

它有两个部分:

(!/^\d+$/.test(x))

(x.length!=20)

第一部分是模式匹配。它测试变量x 中的字符串是否匹配正则表达式/^\d+$/。那个正则表达式意味着

/    # start of regular expression
^    # match the start of the string
\d   # match one digit
+    # the previous pattern is matched one or more times
$    # match the end of the string
/    # end of regular expression.

换句话说,“匹配一个由一个或多个数字组成的字符串”。

第二部分是测试字符串长度。

在上下文中将它们放在一起:

IF variable 'x' does not consist of one or more digits 
OR IF it does not have a length of 20
THEN show and 'alert' popup and return false.

验证“公式”很容易翻译成 Java ... 或任何其他支持正则表达式的语言。

但是,很明显,并非每个 20 位数字实际上都是一个真实阿尔及利亚银行帐号。

(值得一提的是,国际银行帐号 (IBAN) 上的维基百科页面有许多国家/地区的 summary 格式。但它没有更多关于阿尔及利亚银行号码的信息,只是它们是20 位数。)

【讨论】:

  • Stephen C 非常感谢您的回答,是的,在我在这里发帖之前,我检查了 IBAN 的维基百科页面,我没有发现任何认为做数学的想法,我加入的链接我的问题正是我需要的。好吧,再次感谢你,我会在等待公式用控制键检查帐号时用java编写代码,谢谢你
  • 我发现的一个消息来源暗示前 3 位数字是银行代码,后两位数字是某种校验位。这就是我能用英语找到的所有内容。
  • 我找到了公式,Contorle_key = ((89*bank_code+15*agency_code+3*account_number)%97) 其中controle_key = 后2位,银行代码=前3位的整数值,机构code = 后面5位的整数值,账号9到18位的数字。但是这个方法现在没有激活,他们改变了它,今天使用的方法没有更新!!不幸的是,好吧,我很高兴再次与您交谈,亲爱的朋友
猜你喜欢
  • 2012-05-18
  • 1970-01-01
  • 2012-09-27
  • 2011-12-16
  • 1970-01-01
  • 2013-12-18
  • 2012-10-19
  • 1970-01-01
  • 2016-04-24
相关资源
最近更新 更多