Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2015, 14:52
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

Как найти в слове определенный символ ?
Подскажите как найти в слове определенные символы ?

например:

var slovo = 'javascript';

var search = 'vas';

Нужно получить примерно такое:

var result = ja<b>vas</b>cript;
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2015, 15:43
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,529

var slovo = 'javascript';
var search = 'vas';
var regex = new RegExp(search);
var result = regex.test(slovo) ? slovo.replace(search, '<b>' + search + '</b>') : slovo;
alert(result);
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2015, 16:12
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

Спасибо! а можно как поправить что бы регистронезависимо было ?
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2015, 16:20
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

new RegExp(search, 'i');
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2015, 16:27
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

Сообщение от Lemme Посмотреть сообщение
new RegExp(search, 'i');
не работает
Ответить с цитированием
  #6 (permalink)  
Старый 22.12.2015, 16:53
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

нет не работает шаблон у меня
Ответить с цитированием
  #7 (permalink)  
Старый 22.12.2015, 16:57
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,529

var slovo = 'javascript';
var search = 'VAS';
var regex = new RegExp('(' + search + ')', 'i');
var result = regex.test(slovo) ? slovo.replace(regex, '<b>' + "$1" + '</b>') : slovo;
alert(result);

так регистронезависимо будет
Ответить с цитированием
  #8 (permalink)  
Старый 22.12.2015, 18:44
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 2,932

В подстроке нужно бы ещё спецсимволы экранировать, а то:

var slovo = 'javascript';
var search = 'V.S';
var regex = new RegExp('(' + search + ')', 'i');
var result = regex.test(slovo) ? slovo.replace(regex, '<b>' + "$1" + '</b>') : slovo;
alert(result);



--------
Вариант без регулярок, может кому-нибудь пригодится:


function searchToBold(text, search) {
	var i = text.toLowerCase().indexOf(pattern.toLowerCase());
	if(i + 1) {
		text = text.substr(0, i) + text.substr(i, search.length).bold() + text.substr(i + search.length);
	}
	return text;
}


alert(searchToBold('javascript', 'vas'));


P.S.: bold() хоть и устаревший метод, но смотрится красивее.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Предполагается наличие ';' в IE7- FINoM (X)HTML/CSS 5 25.08.2012 16:05
найти и удалить символ ivanweb jQuery 6 07.06.2009 22:47
Как узнать в каком регистре напечатан русский символ на яваскрипте IGAHDF Я не знаю javascript 2 28.05.2009 19:50
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12
Как найти путь к файлу для модификации? JuliaMilan Firefox/Mozilla 0 31.03.2009 14:06