@zlodiak

Как выбрать номер дома с корпусом?

Помогите пожалуйста исправить скрипт.

Я получаю адреса определённых видов(перечислил в комментариях). Моя задача в том, чтобы добавить перед номером дома(если он есть) фразу 'д. '.

// const addr = 'Россия, Республика Татарстан, Казань, площадь 1 мая';
// const addr = 'Россия, Республика Татарстан, Казань, улица Бутлерова, 44А';
// const addr = 'Россия, Республика Татарстан, Казань, улица Бутлерова, д. 44А';
// const addr = 'Россия, Республика Татарстан, Казань, улица Бутлерова, д. 44';
const addr = 'Россия, Республика Татарстан, Казань, улица Бутлерова, 44';
const homeNum = addr.match(/\d+$/);
const homeLabel = addr.match(/(д.)/g);
let result = addr;

if(!homeLabel && homeNum && homeNum[0]) {
	console.log('replace')
	result = addr.replace(/\d+$/, 'д. ' + homeNum[0]);
}

console.log('result', result)

console.log('homeNum', homeNum); 
console.log('homeLabel', homeLabel);


LIVE DEMO здесь.

Как видите, я эту задачу решил. При помощи регулярных выражений я ищу последнюю цифру в строке адреса и нехитрыми манипуляциями добавляю фразу 'д. '. Если номера дома в конце строки нет или фраза 'д. ' уже присутствует, то исходную строку адреса не изменяю

Но проблема в том, что номер дома может содержать букву корпуса. например: 12A, 101Б, и т.д. Помогите пожалуйста учесть это.
  • Вопрос задан
  • 252 просмотра
Решения вопроса 1
/\d+[а-яА-Яa-zA-Z]?$/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 07:32
75000 руб./за проект
28 нояб. 2024, в 11:38
5000 руб./за проект
28 нояб. 2024, в 11:20
50000 руб./за проект