Как найти в слове определенный символ ?
Подскажите как найти в слове определенные символы ?
например: 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, время: 22:20. |