【问题标题】:RegExp for Indian Bank Account Number印度银行帐号的正则表达式
【发布时间】:2017-05-03 21:29:50
【问题描述】:

我需要编写一个正则表达式来检查印度主要银行的有效银行帐号格式。有谁知道正则表达式检查应该是什么?也许我只是检查以确保所有字符都是数字?

【问题讨论】:

    标签: regex


    【解决方案1】:

    RBI 规定了某些 rules,就像您在印度银行帐号结构 (9 - 18) 中提到的那样。

    • 大多数银行都有唯一的帐号。
    • 帐号长度从 9 位到 18 位不等。
    • 大多数银行(78 家银行中的 67 家)已将分行代码作为帐号结构的一部分。一些银行将产品代码作为帐号结构的一部分。
    • 78 家银行中有 40 家没有校验位作为帐号结构的一部分。
    • 所有银行都有纯数字帐号一两家外国银行除外。
    • 仅在 20 家银行的情况下,形成的帐号没有任何模式,具有唯一的运行序列号。

    印度银行帐号验证正则表达式:

    ^\d{9,18}$
    

    更好的验证方法是选择正确的银行,然后根据 RBI here 概述和分析的银行进行检查。

    【讨论】:

    • 如果可以的话,我会投两次票,作为一项规则,您通常会松散地检查这些标识号(作为帮助用户排除可能错别字的简单信息),而是您向银行或当局验证号码。
    • @zmo 谢谢!是的,这可能是正确的方法。但是假设您要进行客户端验证,您是否会将其放宽到更大范围的数字作为客户端检查,然后稍后再与权威机构进行验证?
    • 这就是为什么大多数银行在最后使用支票号码的原因,以确保数据不太可能是乱码。否则,服务器端检查是要走的路。与电子邮件一样,银行号码只有在实际检查数据库是否存在时才有意义。其他一切都只是“松散”的检查。
    【解决方案2】:

    根据RBI 印度储备银行 -> 银行应该有9-18位数字

    "[0-9]{9,18}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 2020-04-02
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多