blackrid
@blackrid
Стараюсь узнать всё понемногу

Поиск телефонов на странице средствами Jquery и регулярных выражений — почему работает некорректно?

Добрый день! Пишу расширение для Chrome, задача такая - искать все телефоны на странице, и "подсвечивать" их другим цветом. Все бы ничего, но поиск по тегам с помощью Jquery работает не совсем корректно. Вот код:

var term = /^((8|\+7)?[\s\-]?)?(\(?\d{3,4}\)?)?[\s\-]?[\d\s\-]{4,10}/gi;
    $( '*' ).each( function() {
        var text = $( this ).text();
        var p = text.match( term );
        if ( p ) {
            // Какие-то действия с найденными совпадениями
        }
    } );


Но ищет не везде. Например, вот в этом коде - находит:

<div class="ya-phone-sruby-samara-ru"><span>(846)</span> 233-33-33<br>8-937-992-22-22<br></div>


А вот в этом - нет:

<p>
    Самара,&nbsp;ул.Антонова-Овсеенко,&nbsp;NN&nbsp;А<br>
    <a href="mailto:dxxx@xxxx.ru">dxxx@xxxx.ru</a><br>
    (846) 279-00-35 пн-пт 8:00-17:00<br>
    8-927-734-00-35 круглосуточно
</p>


В этом находит, но обрезает до 7 символов:

<font face="monotype corsiva" size="+3" color="#518EB0" align="center"> 8-917-044-44-44</font>


Почему в некоторых тегах ищет корректно, а в некоторых (в примере - ) - не находит?
Заранее спасибо!
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект