Помогите с регуляркой
Есть малюсенький скрипт:
Array.prototype.forEach.call(document.querySelectorAll('a'), function(e){ if(e.href == 'ссылка на сайт') e.href = 'заменнёная ссылка'; }); Помогите добавить регулярку для поиска определенной ссылки (только начало) . Например все ссылки начинающиеся с vk.com/away.php С регулярками вообще не дружу. Заранее спасибо |
Цитата:
var url='vk.com\/away.php?prm=123'; alert(/^vk.com\/away.php/.test(url)); Но ссылки на странице не будут такими, если ты указываешь их сокращенным синтаксисом... ;) |
Разобрался, код получился такой:
Array.prototype.forEach.call(document.querySelectorAll('a'), function(e){ if(e.href == (/^https:\/\/vk.com\/away.php/i) || (/^https:\/\/an.yandex.ru/i)) e.href = 'Sponsorship'; }); Спасибо ksa за помощь |
bms.java,
для такого поиска рег. выражения в общем то и не нужны. Смотрите свойства location. |
bms.java, Вы уверены, что Ваш код работает? :)
Да и тут регулярки не нужны. Array.prototype.forEach.call(document.links, function(link) { if(link.href.indexOf('https://vk.com') === 0 || link.href.indexOf('https://an.yandex.ru') === 0) { link.href = 'Sponsorship'; } }); Но можно куда проще и логичней поступить: Array.prototype.forEach.call(document.links, function(link) { if(link.hostname === 'vk.com' || link.hostname === 'an.yandex.ru') link.href = 'Sponsorship'; } }); |
Действительно работало неверно. Спасибо за помощь
|
Часовой пояс GMT +3, время: 20:37. |