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"