malikzh/caregnum-kz

哈萨克斯坦共和国汽车登记号码解析器

1.1 2018-05-24 12:06 UTC

This package is auto-updated.

Last update: 2024-09-08 20:46:14 UTC


README

哈萨克斯坦共和国汽车国家号码解析库

使用方法

要使用此库,您需要通过包管理器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) {
		// Неверный регион
	}
}

变更日志

v1.1: 添加了摩托车号码的定义