Сформировать КЛАДР вручную
Есть сайт (ссылку дать не могу, там нужен логин) с полями заполнения адресов РФ. Есть поле Региона РФ, поле Района, поле Города и поле населённого пункта.
При заполнении поля отправляется запрос на сервер в котором приходит JSON со списком данных для заполнения следующего поля в формате {"Code":"","Name"}.
Например, я выбираю костромскую область, отправляется запрос, и в ответ получаю список районов: {"Code":2,"Name":"Антроповский р-н"}, ..., выбираю район, отправляется запрос, в ответе список населённых пунктов. Сразу после этого я нажимаю кнопку "сохранить" и отправляется запрос в теле которого уже есть код КЛАДР (Пример: "KLADRCode": "280070000320000"), а значит он формируется каким-то JavaScript. Найти не смог поэтому пишу сюда.
Если у меня коды Региона, Района\Города\Населённого пункта, можно ли сформировать КЛАДР вручную?
Первые две цифры, точно отвечают за субъект РФ. Последние 5 или 6 за населённый пункт, вроде, а перед ними район. Но это всё просто пальцем в небо.
Ответы (1 шт):
Короче, с помощью этого сайта понял структуру:
ХХ-ХХХ-ХХХ-ХХХ-ХХХХ
РГ-РЙН-ГРД-НСП-УЛИЦ
Код на js для формирования КЛАДР:
function KLADR(region, district, city, town, street=0)
{
var rS = String(region).padStart(2,'0');
var cS = String(city).padStart(3,'0');
var dS = String(district).padStart(3,'0');
var tS = String(town).padStart(3,'0');
var sS = String(street).padStart(4,'0');
return rS+dS+cS+tS+sS;
}
Использование:
KLADR(70, 15, 0, 11) // Томская область, Чаинский район, деревня Григорьевка
KLADR(31, 0, 1, 0) // Белгородская область, город Белгород
KLADR(78, 0, 0, 0) // город Санкт-Петербург
KLADR(44, 0, 3, 0, 666) // Костромская область, город Кострома, ул. Металлистов
Справочник регионов РФ:
var ruStates = new Object({
"1":"Республика Адыгея (Адыгея)",
"2":"Республика Башкортостан",
"3":"Республика Бурятия",
"4":"Республика Алтай",
"5":"Республика Дагестан",
"6":"Республика Ингушетия",
"7":"Кабардино-Балкарская Республика",
"8":"Республика Калмыкия",
"9":"Карачаево-Черкесская Республика",
"10":"Республика Карелия",
"11":"Республика Коми",
"12":"Республика Марий Эл",
"13":"Республика Мордовия",
"14":"Республика Саха (Якутия)",
"15":"Республика Северная Осетия - Алания",
"16":"Республика Татарстан (Татарстан)",
"17":"Республика Тыва",
"18":"Удмуртская Республика",
"19":"Республика Хакасия",
"20":"Чеченская Республика",
"21":"Чувашская Республика - Чувашия",
"22":"Алтайский край",
"23":"Краснодарский край",
"24":"Красноярский край",
"25":"Приморский край",
"26":"Ставропольский край",
"27":"Хабаровский край",
"28":"Амурская область",
"29":"Архангельская область",
"30":"Астраханская область",
"31":"Белгородская область",
"32":"Брянская область",
"33":"Владимирская область",
"34":"Волгоградская область",
"35":"Вологодская область",
"36":"Воронежская область",
"37":"Ивановская область",
"38":"Иркутская область",
"39":"Калининградская область",
"40":"Калужская область",
"41":"Камчатская область",
"42":"Кемеровская область",
"43":"Кировская область",
"44":"Костромская область",
"45":"Курганская область",
"46":"Курская область",
"47":"Ленинградская область",
"48":"Липецкая область",
"49":"Магаданская область",
"50":"Московская область",
"51":"Мурманская область",
"52":"Нижегородская область",
"53":"Новгородская область",
"54":"Новосибирская область",
"55":"Омская область",
"56":"Оренбургская область",
"57":"Орловская область",
"58":"Пензенская область",
"59":"Пермская область <*>",
"60":"Псковская область",
"61":"Ростовская область",
"62":"Рязанская область",
"63":"Самарская область",
"64":"Саратовская область",
"65":"Сахалинская область",
"66":"Свердловская область",
"67":"Смоленская область",
"68":"Тамбовская область",
"69":"Тверская область",
"70":"Томская область",
"71":"Тульская область",
"72":"Тюменская область",
"73":"Ульяновская область",
"74":"Челябинская область",
"75":"Читинская область",
"76":"Ярославская область",
"77":"г. Москва",
"78":"г. Санкт-Петербург",
"79":"Еврейская автономная область",
"80":"Агинский Бурятский автономный округ",
"81":"Коми-Пермяцкий автономный округ <*>",
"82":"Корякский автономный округ",
"83":"Ненецкий автономный округ",
"84":"Таймырский (Долгано-Ненецкий) автономный округ",
"85":"Усть-Ордынский Бурятский автономный округ",
"86":"Ханты-Мансийский автономный округ - Югра",
"87":"Чукотский автономный округ",
"88":"Эвенкийский автономный округ",
"89":"Ямало-Ненецкий автономный округ",
"99":"Иные территории, включая город и космодром Байконур"});
