• Stars
    star
    121
  • Rank 293,924 (Top 6 %)
  • Language
    JavaScript
  • Created over 8 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Validador de contas bancárias brasileiras em JavaScript

Validador de conta bancária on-line

Você pode realizar a validação a qualquer momento através do site: http://validadorbanco.moip.com.br

Validador de contas bancárias

A validação da conta bancária é realizada sobre as regras dos seguintes bancos: Itaú, Bradesco, Banco do Brasil, Santander, Citibank e HSBC. Para os outros bancos é realizada uma validação padrão:

  • Agência de 1 até 5 números
  • Dígito da agência de 0 a 2 caracteres
  • Conta corrente de 1 até 12 números
  • Dígito da conta corrente de 0 a 2 caracteres

O número da agência e conta corrente dos bancos Itaú, Bradesco, e Banco do Brasil são validados através do cálculo do dígito verificador (semelhante a validação do CPF).

Implementação a validação em seu site

Para um funcionamento inicial, copie o trecho de código abaixo para sua página HTML.

<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="https://assets.moip.com.br/v2/bank-account-validator.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    $("#validate_bank_account").click(function() {
      Moip.BankAccount.validate({
        bankNumber         : $("#bank_number").val(),
        agencyNumber       : $("#agency_number").val(),
        agencyCheckNumber  : $("#agency_check_number").val(),
        accountNumber      : $("#account_number").val(),
        accountCheckNumber : $("#account_check_number").val(),
        valid: function() {
          alert("Conta bancária válida")
        },
        invalid: function(data) {
          var errors = "Conta bancária inválida: \n";
          for(i in data.errors){
            errors += data.errors[i].description + "-" + data.errors[i].code + ")\n";
          }
          alert(errors);
        }
      });
    });
  });
</script>
<form>
  <select id="bank_number">
    <option value="001">BANCO DO BRASIL S.A.</option>
    <option value="237">BANCO BRADESCO S.A.</option>
    <option value="341">BANCO ITAÚ S.A.</option>
    <option value="104">CAIXA ECONOMICA FEDERAL</option>
    <option value="033">BANCO SANTANDER BANESPA S.A.</option>
    <option value="399">HSBC BANK BRASIL S.A.</option>
    <option value="151">BANCO NOSSA CAIXA S.A.</option>
    <option value="745">BANCO CITIBANK S.A.</option>
    <option value="041">BANCO DO ESTADO DO RIO GRANDE DO SUL S.A.</option>
  </select>

  <input id="agency_number" placeholder="Agência" type="text"/>
  <input id="agency_check_number" placeholder="Dígito da agência" type="text" />
  <input id="account_number" placeholder="Conta corrente" type="text" />
  <input id="account_check_number" placeholder="Dígito da conta corrente" type="text" />

  <input type="button" value="Validar" id="validate_bank_account" />
</form>

Lembrando que se estiver em ambiente de desenvolvimento é recomendável utilizar o arquivo validator.html.

Tratamento de erros

Estes são os códigos de erro retornados quando uma conta bancária inválida é informada. Estas mensagens podem ser retornadas quando uma conta bancária do ITAÚ está totalmente inválida:

  • INVALID_AGENCY_NUMBER: A agência deve conter 4 números. Complete com zeros a esquerda se necessário
  • INVALID_AGENCY_CHECK_NUMBER: Dígito da agência inválido
  • INVALID_ACCOUNT_NUMBER: A conta corrente deve conter 5 números. Complete com zeros a esquerda se necessário
  • INVALID_ACCOUNT_CHECK_NUMBER: Dígito da conta corrente inválido
  • AGENCY_CHECK_NUMBER_DONT_MATCH: Dígito da agência não corresponde ao número da agência preenchido
  • ACCOUNT_CHECK_NUMBER_DONT_MATCH: Dígito da conta não corresponde ao número da conta/agência preenchido
  • INVALID_BANK_NUMBER: Banco inválido (quando o código do banco não possui entre 3 e 5 dígitos)

Código dos bancos

A listagem de todos os bancos você pode obter em http://www.codigobanco.com.

Contribuindo

Após realizar as mudanças do projeto, ou caso queira apenas executar o projeto localmente:

Instalação de dependências

%> npm install

Testes unitários

%> grunt

Build

%> grunt build

Executando a validação no browser

Após executar o build, basta abrir o arquivo validator.html no seu browser.

Release (gera uma nova versão major/minor/patch)

Por exemplo, para a correção de um bug alterando a versão de 1.0.0 para 1.0.1, o comando seria:

%> grunt release:patch

Após este comando:

  • Arquivo com a nova versão será gerado em dist/bank-account-validator-MAJOR.MINOR.PATCH.min.js
  • A nova versão ficará registrada no package.json no campo "version"

More Repositories

1

awesome-mask

The awesome-mask runs with Vue.js and uses the vanilla-masker to make your form awesome with masks.
JavaScript
165
star
2

moip-sdk-php

Cliente em PHP para integração server-side com APIs Moip v2
PHP
126
star
3

moip-sdk-js

SDK Javascript que possibilita a criptografia de dados sensíveis de cartão no browser do cliente assim como identificação e validação de números de cartão de crédito. Para Web / React Native / Ionic 1 / Ionic 3.
JavaScript
62
star
4

moip-sdk-node

Módulo Node.js para integração com API Moip v2
JavaScript
58
star
5

moip-encryption-js-jquery

Cliente Javascript Moip, possibilita a criptografia de dados sensíveis de cartão no browser do cliente assim como identificação e validação de números de cartão de crédito.
JavaScript
45
star
6

credit-card-validator

Java
30
star
7

moip-sdk-ruby

Cliente em Ruby para integração server-side com APIs Moip v2
Ruby
29
star
8

magento2

Módulo de pagamento para Magento 2
PHP
27
star
9

challenge

Wirecard's Technical Challenge
25
star
10

moip-sdk-java-le

Cliente em JAVA para integração server-side com APIs Moip v2
Java
25
star
11

ifman

IfMan is a GUI (Graphical User Interface) for Curtain
Ruby
24
star
12

moip-encryption-sdk-android

Cliente Android para integração com as APIs v2 Moip, possibilita a criptografia de dados sensíveis de cartão de crédito.
Java
20
star
13

rcurtain

Open the curtain and see if your feature is enabled
Ruby
13
star
14

moip-sdk-java

🆕 Java SDK for Moip API v2 server-side integration.
Java
7
star
15

moip-sdk-dotnet

C#
7
star
16

moip-encryption-sdk-ios

Objective-C
7
star
17

mockkid

Mockkid is a webserver for mocking http responses
Java
6
star
18

maquininha-wirecard-sdk-android

5
star
19

moip-http-php

@deprecated - Base do Moip para facilitar a implementação da interface HTTPRequest.
PHP
5
star
20

awesome-examples

JavaScript
4
star
21

moissenger

Moissenger
CSS
3
star
22

desmond

Validates Bank Accounts and Boleto numbers
Kotlin
3
star
23

moip-dev-academy-java

☕ The Moip Dev Academy Java examples
Java
3
star
24

payment-api

This is a sample project used only for recruitment purposes.
Java
2
star
25

proxy-moip

JavaScript
2
star
26

wercker-elastic

1
star
27

qa-test

API for QA candidates testing
Ruby
1
star
28

workshop-ios

Breve curso basico de iOS com Swift
Swift
1
star
29

lotbk

The Legend of the Blue Kalango
Ruby
1
star
30

rote8r

The man to roteate them all
Java
1
star
31

browserstack-web-test

Gherkin
1
star
32

active-model-components-outside-rails

Pequeno exemplo demonstrando a utilização do ActiveModel::Serializer em um app não Rails.
Ruby
1
star
33

PWars

CSS
1
star