JavaScript字符串tel解析器

时间:2014-04-02 21:37:43

标签: javascript jquery html string parsing

我有一组像这样的字符串:

"Lorem Ipsum dolor sit amet, 6:13 p.m - <a href='tel:5555'>555-5</a> / <a href='tel:7777'>777-7</a>"

<a></a>标签的数量是可变的,在我的示例中我需要返回“5555”和“7777”

在JavaScript中实现这一目标的最佳方式是什么以及如何?

谢谢!

1 个答案:

答案 0 :(得分:1)

只需让JS(或jQuery)解析HTML,找到a元素并阅读他们的href属性。

E.g。

var hrefs = $($.parseHTML(str)).filter('a').map(function() {
   return this.href;
}).get();
// gives an array like ['tel:5555', 'tel:7777'] which you can process further

总而言之,为了使其更可靠并提取数字,您可以这样做:

function parseTel(str) {
  str = '<div>' + str + '</div>';
  return $($.parseHTML(str)).find('a[href^="tel:"]').map(function() {
    return +this.href.split(':')[1];
 }).get();
}