Задать вопрос
@semki096

Как сравнить 2 строки на соответствие?

Допустим есть 2 переменные
var name = 'Игорь Петрович Иванов';
var name2 = 'игорь петровичиванов и ещё какие то слова';

Как мне сравнить их и получить результат TRUE без учёта регистра и пробелов?
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Оценить 3 комментария
Решения вопроса 3
Вам надо обе строки перевести в нижний регистр и убрать пробелы:
1) Перевод в нижний регистр: toLowerCase
2) Убрать пробелы: replace(/\s/g, '')
Получается:
function compare(str1, str2) {
    return clearString(str1) === clearString(str2); 
}
function clearString(str) {
    return str.toLowerCase().replace(/\s/g, '');
}
compare(name, name2) // => true
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
name.split(' ').join('').toLowerCase() === name2.split(' ').join('').toLowerCase()
Ответ написан
devellopah
@devellopah
var name1 = 'Игорь Петрович Иванов';
var name2 = 'игорь петровичиванов и ещё какие то слова';

function sanitize(str) {
	return str.toLowerCase().replace(/[^a-z\u0400-\u04FF]/gi,"");
}

sanitize(name2).includes(sanitize(name1)); // true
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы