GithubHelp home page GithubHelp logo

malikzh / caregnum-kz Goto Github PK

View Code? Open in Web Editor NEW
5.0 0.0 2.0 8 KB

Библиотека для парсинга гос. номеров авто Республики Казахстан

License: MIT License

PHP 100.00%
kazakshtan registration-number caregnum-kz

caregnum-kz's Introduction

caregnum-kz

Библиотека для парсинга гос. номеров авто Республики Казахстан

Использование:

Для использования необходимо установить библиотеку через пакетный менеджер Composer: $ composer require "malikzh/caregnum-kz":"1.*"

После этого можно пользоваться основным методом библиотеки parse()

Пример №1:

Разбор гос.номеров старого образца

use Malikzh\CaregnumKz;

$result = CaregnumKz::parse('D916ECA');

// Будет возвращен CaregnumKzResult объект

Пример №2:

Разбор гос.номеров нового образца

use Malikzh\CaregnumKz;

$result = CaregnumKz::parse('282ERT04');
// или
$result = CaregnumKz::parse('KZ282ERT04');

// Будет возвращен CaregnumKzResult объект

Автоматическое преобразование символов кириллицы в латиницу:

Если мы напишем:

use Malikzh\CaregnumKz;

$result = CaregnumKz::parse('А987ЕТА'); // Здесь все буквы написаны в кириллице

То, библиотека автоматически заменит на латинские соответствующие символы.

Возвращаемый результат

При использовании метода CaregnumKz::parse() он всегда будет возвращать экземпляр объекта CaregnumKzResult, который содержит следующие поля:

$carRegNum // Гос.номер приведенный в общий формат (в верхнем регистре и с обработанными символами кириллице. См. выше)
// Следует отметить, что при вводе гос.номера в новом формате: KZ000ABC00 будет в начале удален KZ.

$regionName    = '';  // Название региона на рус. языке
$region2012    = ''; // Код региона, который используется в образцах 2012 года
$region1993    = ''; // Код региона, который используется в образцах 1993 года
$regionNum     = -1; // Порядковый номер региона в массиве

$regnumType    = 0; // Тип гос. номера. Может быть:
// CaregnumKzResult::TYPE_2012 - Образец 2012 года
// CaregnumKzResult::TYPE_1993 - Образец 1993 года

$regnumData    = []; // Компоненты рег. номера. Заметьте, что для гос.номеров разных образцов, порядок (регион,цифры,буквы) будет разным

Исключения (Exceptions)

Библиотека может выбрасывать исключения, если гос.номер указан неверно, или неверно выбран регион. Рассмотрим пример:

use Malikzh\CaregnumKz;

try {
	$result = CaregnumKz::parse('0000'); // заведомо неверный номер  
} catch (\Malikzh\CaregnumKzException $e) {
	// Определить, что именно произошло, можно по коду исключения:
	if ($e->getCode() === \Malikzh\CaregnumKzException::CODE_INVALID_CARNUM) {
		// Неверный гос.номер
	}
	elseif ($e->getCode() === \Malikzh\CaregnumKzException::CODE_INVALID_REGION) {
		// Неверный регион
	}
}

CHANGELOG

v1.1: Добавлено определение номеров мотоциклов

caregnum-kz's People

Contributors

malikzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Forkers

f4nt0md3v drycov

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.