如何在文档中查找电话号码

时间:2013-04-29 20:34:38

标签: jquery

我正在试图找出一种方法来解析电话号码(以多种格式)的文档,以便它自动将它们包装在一个范围内。这是我扔的代码。

findPhones = function(){
  var pNumber = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;  
  var findPhone = $('*:contains('+pNumber+')');
    findPhone.each(function(i) {
      $(this).prepend('<span>');
        alert('Phone Number Found, delete me');
      $(this).append('</span>');          
    });
}

我不知道如何检查整个文档(或该元素)以查看它是否是电话号码。

Fiddle

1 个答案:

答案 0 :(得分:0)

您需要搜索所有文本节点。一种简单(可能很糟糕)的方法是使用document.body.innerHTML,但这会导致严重中断绑定到特定DOM元素的其他JavaScript。我建议您使用NodeIteratorTreeWalker来执行此操作,以便您可以单独处理文本节点而不会中断DOM。你可能会发现有用的Here's an answer to a similar question (免责声明:我写了那个答案)