javascript - Javascript 中的电话号码识别

标签 javascript jquery firefox-addon skype

是否有可以识别网页中电话号码的javascript 库?就像 Skype 在他们的 Firefox 插件上所做的一样。

或者你知道怎么做的方法吗?这样做的网站或任何教程都会非常有帮助。

非常感谢您的回复。

最好的,

最佳答案

var makePhoneLinks = function()
{
    var tNodes = [];
    getTextNodes(document.body,false,tNodes,/(((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4})/ig);                              
    var l = tNodes.length;
    while(l--)
    {
        wrapNode(tNodes[l],/(((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4})/ig,"<a target='#'>$1</a>");
    }  
}
function getTextNodes(node, includeWhitespaceNodes,textNodes,match) {

    if (node.nodeType == 3) {
        if (includeWhitespaceNodes || !/^\s*$/.test(node.nodeValue)) {
            if(match){
                if(match.test(node.nodeValue))
                    textNodes.push(node);
            }
            else {
                textNodes.push(node);
            }
        }
    } else {
        for (var i = 0, len = node.childNodes.length; i < len; ++i) {
            getTextNodes(node.childNodes[i],includeWhitespaceNodes,textNodes,match);
        }
    }

}
function wrapNode(n,match,m) {

    var temp = document.createElement('div');
    if(n.data)
        temp.innerHTML = n.data.replace(match, m);
    else{
        //whatever
    }
    while (temp.firstChild) {
        n.parentNode.insertBefore(temp.firstChild,n);

    }
    n.parentNode.removeChild(n);

}

关于javascript - Javascript 中的电话号码识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2807113/

相关文章:

javascript - 我如何关注 casperjs 网址

javascript - Turbolinks - 仅在预定帖子上显示日期时间选择器 - 默认隐藏

javascript - 改变滚动不同区域的div不透明度

javascript - 等待使用 jQuery 加载模型数据时 -- 遇到时间差异?

javascript - 登录失败的客户端通知

javascript - Firefox AddOn 扩展中 contextMenu 选项的可见性

javascript - [需要澄清]如何在探索原型(prototype)属性时处理类型错误

javascript - 理解 JavaScript 中的 OOP

javascript - 一个html部分中的js代码不起作用

firefox-addon - 使用相同的 XUL 覆盖时是否应该指定应用程序?