2016-08-22 6 views
-4

Я хочу, чтобы все элементы DOM, которые существуют на странице, соответствовали регулярному выражению JavaScript, которое соответствует элементам dom, присутствующим на странице, и возвращает элементы, содержащие эту конкретную строку: «tel : «Как получить доступ к элементам DOM с помощью javascript Regex

Например, если тег-ахор существует с <a href="tel:+1222333458">1222333458</a>, регулярное выражение возвращает элемент DOM. или промежуток может содержать эти как: тела: я пришел с простым регулярным выражением, которое соответствует строке «тела:»

/tel:*/g 

, но он не делает то, что я на самом деле хочу, чтобы это сделать.

Меня интересуют не только якорные метки с href, содержащие «tel:», но любой другой элемент dom может содержать tel: в любом из их атрибутов или значения или html только с использованием только регулярного выражения javascript Он должен быть в состоянии найти все элементы, где данные атрибутов, как этот данных MTYPE = 'тел:'

+1

'/ tel: * /' означает 't',' e', 'l' + ноль или больше': '. Таким образом, он будет соответствовать строке 'tel :::'. Помните, что '*' означает «ноль или более предыдущего символа». Например, 'a *' соответствует пустой строке '' '', соответствует 'a' соответствует' aaa' и т. Д. – slebetman

+1

Требуется ли регулярное выражение? Вы проверяете только атрибуты href или где-либо в пределах externalHTML? – JonSG

+0

Эй, Юхана, я хочу, чтобы регулярное выражение соответствовало всем элементам dom, которые содержат по крайней мере один раз «tel:» и возвращают мне все эти элементы. –

ответ

0

обновлял его, чтобы показать какой-либо элемент, который содержит tel::

console.log(
 
    Array.prototype.slice.call(document.querySelectorAll('*')).filter(function(element) { 
 
    var match = element.outerHTML.match(/tel:/gi); 
 
    if (match == null) { 
 
     return false; 
 
    } 
 
    if (match == void 0) { 
 
     return false; 
 
    } 
 
    return true; 
 
    }) 
 
)
<a href="1234 5678">1</a> 
 
<a href="tel">2</a> 
 
<a href="tel:1234 5678">3</a> 
 
<a href="tel:12345678">4</a>

+0

Эй, Эмиль С. Йоргенсен! спасибо за ответ, меня интересуют не только теги привязки с href, содержащие «tel:», но любой другой элемент dom может содержать tel: в любом из их атрибутов или значения или html только с использованием только javascript-регулярного выражения. –