PHPackages                             hacklab/bank-account-validator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. hacklab/bank-account-validator

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

hacklab/bank-account-validator
==============================

A simple brazilian account validator

1.1.2(5y ago)18.8kGPL-3.0-onlyPHPPHP &gt;=5.6

Since Dec 10Pushed 5y ago4 watchersCompare

[ Source](https://github.com/hacklabr/validador-bancario)[ Packagist](https://packagist.org/packages/hacklab/bank-account-validator)[ RSS](/packages/hacklab-bank-account-validator/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (1)Versions (5)Used By (0)

Validador bancário
==================

[](#validador-bancário)

Um simples validador de agencia, conta e dígitos verificadores de bancos brasileiros em **PHP**.

**Bancos suportados:**

NomeCódigoAgênciaContaBradesco2374 + **DV**7 + **DV**Itaú34145 + **DV**Banco do Brasil0014 + **DV**8 + **DV**Santander03348 + **DV****DV**: Dígito verificador.

Exemplo de uso:
---------------

[](#exemplo-de-uso)

```
use BankValidator;

$bank_code = '033';      // codigo do banco
$agency = '47812';       // numero da agencia
$agency_digit = '';      // DV da agência
$account = '43401980';   // numero da conta
$account_digit = '1';    // DV da conta
$auto_pad_values = true; // Adiciona zeros para completar valores para o banco especifico

// A opção de auto_pad por padrão é false
$valid = BankValidator\Validator::validate($bank_code, $agency, $agency_digit, $account, $account_digit, $auto_pad_values);

// O validador retornará verdadeiro se houve
// sucesso ou um array de erros em caso de falha(s).

```

Erros possíveis no retorno
--------------------------

[](#erros-possíveis-no-retorno)

Ao rodar uma validação todos os parâmetros são validados e dependendo do sucesso ou não novos erros são adicionados a lista. A lista pode conter os seguintes erros:

- `INVALID_AGENCY_NUMBER`: Agência não segue os padrões do banco.
- `INVALID_AGENCY_DIGIT` : Digito verificador da agência não segue os padrões do banco
- `INVALID_ACCOUNT_NUMBER`: A conta não segue os padrões do banco.
- `INVALID_ACCOUNT_DIGIT`: Digito verificador da conta não segue os padrões do banco
- `AGENCY_DIGIT_DONT_MATCH`: Digito verificador para a agencia é inválido
- `ACCOUNT_DIGIT_DONT_MATCH`: Digito verificador para a conta é inválido

Exemplo de retorno em caso de combinação invalida:

```
$bank_code = '033';
$agency = '47812'; // agência inválida (5 números)
$agency_digit = '';
$account = '43401980';
$account_digit = '1'; // DV é dado a partir da agência (alguns bancos), logo, tornando-o incorreto

$valid =  BankValidator\Validator::validate($bank_code, $agency, $agency_digit, $account, $account_digit, true);

```

Retorno:

```
array [
	"INVALID_AGENCY_NUMBER",
	"ACCOUNT_DIGIT_DONT_MATCH"
 ]

```

Exceções previstas
------------------

[](#exceções-previstas)

- `BankValidator\classes\exceptions\NotRegistredBankCode`: É lançado quando o código do banco passado não está registrado. Os códigos dos bancos suportados podem ser vistos no inicio desse documento ([aqui](#validador-banc%C3%A1rio)).

Desenvolvimento
---------------

[](#desenvolvimento)

Esse ambiente faz do **docker**/**docker-compose**. Cerifique-se que ele está instalado. Caso contrario, [clique aqui](https://docs.docker.com/engine/install/) para aprender a instalar o **docker**.

- Para rodar o ambiente basta executar: ```
     docker-compose up
    ```
- O **composer** é utilizado e instalado automaticamente no ambiente. Para instalar as dependências pode-se utilizar o `composer install`.
- Lembrando que para atualizar as referencias para o **autoloader** podemos usar o comando `composer dump -o`

Testes automatizados:
---------------------

[](#testes-automatizados)

Existe um conjunto de testes individuais para cada banco para validação de erros. Para executar os testes você pode rodar o **phpunit** em seu ambiente:

```
 vendor/bin/phpunit
```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

3

Last Release

2016d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/05c77808a324e10d4da27c28994c4ad26c73b673b8bde07741f04d8426a34bfe?d=identicon)[rafaelchavesfreitas](/maintainers/rafaelchavesfreitas)

![](https://www.gravatar.com/avatar/51069c1f8d6a56720a92e046a4c555d87267cff61f394b82db7e7184f1586ef9?d=identicon)[isaquemelo](/maintainers/isaquemelo)

---

Top Contributors

[![isaquemelo](https://avatars.githubusercontent.com/u/7103838?v=4)](https://github.com/isaquemelo "isaquemelo (27 commits)")[![rafaelchavesfreitas](https://avatars.githubusercontent.com/u/1181261?v=4)](https://github.com/rafaelchavesfreitas "rafaelchavesfreitas (10 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/hacklab-bank-account-validator/health.svg)

```
[![Health](https://phpackages.com/badges/hacklab-bank-account-validator/health.svg)](https://phpackages.com/packages/hacklab-bank-account-validator)
```

###  Alternatives

[chaoswey/taiwan-id-validator

台灣身分證、統一編號驗證

319.9k](/packages/chaoswey-taiwan-id-validator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
