1

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

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>');          
    });
}

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

小提琴

4

1 回答 1

0

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

于 2013-04-29T20:42:12.913 回答