emcvlt/documents 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

emcvlt/documents

Composer 安装命令:

composer require emcvlt/documents

包简介

Classe responsável pela validação de documentos

README 文档

README

Um manipulador de documentos (RG, CPF, Inscrição Estadual, etc)

Instalar

Usando Composer

$ composer require emcvlt/documents

Uso

Para validar um número de inscrição, basta você realizar uma chamada à classe passando como parâmetros o número da inscrição e a UF a qual pertence este número.

// Aqui definimos valores fictícios, porém válidos
$number = '01.140.812/690-10';
$stateOfRegistration = 'AC';

// Verificar se uma inscrição estadual é válida
if StateRegistration::isValid($number, $stateOfRegistration) {
	echo "A inscrição estadual {$number} / {$stateOfRegistration} é válida";
} else {
	echo "A inscrição estadual {$number} / {$stateOfRegistration} não é válida. Verifique e tente novamente.";
}

UF inválida

Caso o estado informado seja inválido (UF inexistente), a classe irá gerar uma exceção do tipo 'InvalidArgumentException'. Você pode tratar este comportamento facilmente.

// Aqui definimos valores fictícios, porém inválidos
$number = '01.140.812/690-10';
$stateOfRegistration = 'XX';

try {
	// Verificar se uma inscrição estadual é válida
	if StateRegistration::isValid($number, $stateOfRegistration) {
		echo "A inscrição estadual {$number} / {$stateOfRegistration} é válida";
	} else {
		echo "A inscrição estadual {$number} / {$stateOfRegistration} não é válida. Verifique e tente novamente.";
	}
} catch (\InvalidArgumentException $e) {
	// Aqui tratamos os casos de UF inválida
	echo 'Exceção capturada: ',  $e->getMessage(), "\n";
}

Lidando com isenções de inscrição estadual

Nos casos em que ocorrer a isenção da inscrição estadual, você pode simplesmente fornecer no número o valor 'ISENTO' ou 'ISENTA'. A classe lida com letras maiúsculas e minúsculas normalmente, tanto no número da inscrição estadual quanto na UF.

Por exemplo são válidos:

  • 'SP', 'Sp' ou 'sp' para o estado de São Paulo
  • 'ISENTO', 'Isento' ou 'isento' para isentos

Lidando com números abreviados (sem zeros à esquerda) e formatação

Você precisa lidar antecipadamente com relação à quantidade de algarismos exigidos na inscrição estadual. Algumas UFs não usam dígitos identificadores da UF (os dois primeiros dígitos) e os usuários tendem à representar o número sem os zeros à esquerda. Nestes casos esta classe não saberá lidar com estes valores e poderá indicar um 'falso' resultado.

Também são usados sinais de pontuação na inscrição estadual e até letras. Nestes casos a classe irá lidar corretamente com estes valores, ignorando as pontuações e tratando os demais caracteres (letras e números).

Por exemplo são valores válidos para inscrições de São Paulo (SP):

  • 'P-01100424.3/002' ou 'P011004243002'

Em caso de dúvidas, consulte a documentação de cada estado ou o site do Sintegra (http://www.sintegra.gov.br) para esclarecer suas dúvidas.

Testes

Incluí uma rotina de testes com valores válidos de todas as unidades da federação.

$ phpunit --verbose --testdox tests/StateRegistrationTest.php

Créditos

Licença

A Licença MIT (MIT). Por favor veja License File para maiores informações.

统计信息

  • 总下载量: 8
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-02-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固