Как найти в слове определенный символ ?
Подскажите как найти в слове определенные символы ?
например: var slovo = 'javascript'; var search = 'vas'; Нужно получить примерно такое: var result = ja<b>vas</b>cript; |
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); |
Спасибо! а можно как поправить что бы регистронезависимо было ?
|
new RegExp(search, 'i'); |
Цитата:
|
нет не работает шаблон у меня
|
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);
так регистронезависимо будет |
В подстроке нужно бы ещё спецсимволы экранировать, а то:
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() хоть и устаревший метод, но смотрится красивее. :) |
| Часовой пояс GMT +3, время: 11:58. |